SuperAPI AI 工具集

rails-conventions

通用与其它

查看项目

更新于 10-15 20:05

技能介绍

用途:该技能在用户询问 Rails 约定、Rails 最佳实践、Rails 文件结构、MVC 模式、命名约定等话题时使用,提供 Ruby on Rails 约定与 Rails Way 理念的系统性指南,面向 Rails 7+ 应用的组织与协作。

主要能力:

  1. 核心理念:约定优于配置、DRY、胖模型瘦控制器、RESTful 设计。
  2. 文件结构:说明 app/(controllers、models、views、helpers、mailers、jobs、channels、javascript)、config/(routes.rb、database.yml、credentials.yml.enc、initializers)、db/(migrate、schema.rb、seeds.rb)、lib/、test/ 的职责。
  3. 命名约定:模型类名单数 CamelCase、文件名单数 snake_case、表名复数 snake_case、外键单数加 _id;控制器类名复数加 Controller、文件名复数 snake_case;视图目录与模板、局部模板、布局命名。
  4. RESTful 路由:resources 映射到 index、show、new、create、edit、update、destroy,并给出 member 与 collection 自定义路由写法。
  5. 控制器约定:标准控制器模式、before_action、Strong Parameters 白名单。
  6. 模型约定:常量、关联、验证、回调、scope、类方法与实例方法的组织顺序,以及 Concerns 抽取共享行为。
  7. Service Objects:复杂业务逻辑放入 app/services/,示例包含事务、成功/失败返回。
  8. 代码放置位置表:业务逻辑、HTTP 处理、视图格式化、后台任务、数据库查询、外部 API、共享行为分别应放的位置。
  9. 最佳实践:保持控制器精简、使用 scope、尽早验证、谨慎使用 concerns、优先组合、遵循 REST。

使用方式:作为技能被调用后,按上述主题提供约定说明与代码示例;示例代码保持原样,如 resources :articles do ... end、params.require(:article).permit(...)、scope :published, -> { where(status: "published") } 等。

适用场景:Rails 项目结构设计、代码审查、新人上手、重构与代码组织决策。

限制:资料未提供该技能的安装命令、收费方式、平台支持或运行环境要求,暂未提供;内容以约定与示例为主,不构成对具体项目效果的保证。