用途:审查和更新现有 Rails 控制器,并按专业模式生成新控制器,覆盖 RESTful 约定、授权、嵌套资源、状态转换与批量操作。
主要能力:提供标准 CRUD 控制器、命名空间状态控制器(用 create/destroy 表示状态切换)、批量操作控制器(仅 create)、嵌套资源控制器等模板;统一 Pundit 授权(集合用 policy_scope,新记录用 authorize ClassName.new,已有记录在 set_* 中 authorize);强参数用 params.expect(model: [...]);before_action 必须带 only:/except:;校验失败用 render :new, status: :unprocessable_content;flash 用 notice:/alert: 并采用“Successfully [Action] [Resource]”格式。
使用方式:先按决策树判断控制器类型——标准 CRUD、状态转换、批量操作、单一父级嵌套,或子资源可挂多个父级(后者应改用 polymorphic-parent-resources 技能,而非为每个父级建控制器)。再套用对应模板,补授权、强参数、before_action、状态码与 flash。命名如 ResourcesController、Resources::StatesController,实例变量单数 @resource、复数 @resources,私有方法 set_resource、resource_params。
适用场景:Rails 应用新增或重构控制器、实现 index/show/new/create/edit/update/destroy、Pundit 授权、嵌套资源、提交/审批/激活等状态流转、批量提交或删除。
限制:资料未提供安装命令、依赖版本、收费或平台信息;示例基于 Rails 与 Pundit,具体版本兼容性暂未提供。