用途:这是 Rails 企业级开发流程中的实现安全清单技能,用于在第四阶段(实现)中,将文件标记为完成之前逐项核对,防止常见 Rails 缺陷与安全漏洞。
主要能力:提供七类检查清单。一、nil 安全:使用安全导航(&.)、为必填属性加 presence 校验、显式处理 nil、用 find_by! 或处理 find_by 返回 nil、调用方法前检查 nil、用 hash.compact.each 过滤 nil。二、ActiveRecord 安全:用 includes/joins 防止 N+1、为所有用户输入加校验、显式处理校验失败、为外键加索引、用 scope 代替类方法、为频繁访问的计数加计数器缓存。三、安全:所有用户输入使用强参数、SQL 查询不做字符串插值、对 HTML 输出做 sanitize 或 strip_tags、不使用未白名单的批量赋值、用 has_secure_password 做认证、日志与错误信息中不含敏感数据。四、错误处理:只捕获具体异常而非 StandardError、带上下文记录日志、返回有意义的错误信息、处理空数组与 nil 等边界情况、服务对象使用 Result 模式。五、性能:用 pluck/select 只取所需列、用 exists? 代替 any? 或 count > 0、用 find_each 分批处理大集合、为高频查询列加索引、用计数器缓存代替重复 count。六、迁移安全:为所有外键加索引、必填列加 null: false、唯一约束加唯一索引、迁移可回滚、适当加默认值、decimal 列使用 precision/scale。七、特定错误预防:给出安全导航链、过滤 nil、显式 nil 检查、控制器预加载、模型计数器缓存、Bullet gem 检测 N+1、强参数与参数化查询等模式。
使用方式:在实现阶段,每个文件完成前先阅读本技能做快速清单对照,逐项审查文件,修复违规项后再运行测试,全部通过才标记完成。详细模式与边界情况可参考 rails-error-prevention 技能,例如执行 cat .claude/skills/rails-error-prevention/SKILL.md 查看。
适用场景:Rails 企业级项目的实现阶段代码审查与自检。
限制:资料未提供该技能的安装方式、收费、平台支持或效果数据,暂未提供。