用途:该技能面向 Ruby on Rails 开发者,讲解如何编写自定义生成器(generators),用于生成模型、服务对象、控制器、API 与全栈功能,也涵盖用应用模板(application templates)完成整个应用的初始化配置。
主要能力:可按架构模式生成服务对象、表单对象、presenter、query object;生成带标准 CRUD 的 API 控制器、序列化器、策略对象;统一团队的文件结构、命名与组织规范;自动生成多文件功能(含迁移、测试与文档);覆盖 Rails 默认 scaffold 行为。
使用方式:生成器放在 lib/generators/[name]/[name]_generator.rb,模板放在 lib/generators/[name]/templates/,测试放在 test/generators/[name]_generator_test.rb。简单场景继承 Rails::Generators::NamedBase,需提供 name、class_name、file_name、plural_name;用 source_root 指定模板目录,用 class_option 声明选项,公开方法按定义顺序执行。模板为 .tt 的 ERB 文件,生成字面 ERB 需写 <%%。调用示例:rails generate service payment_processor。应用模板通过 rails new myapp -m template.rb 或 bin/rails app:template LOCATION=template.rb 执行。
适用场景:团队需要统一代码规范、减少样板代码、自动化复杂 setup,或替换 Rails 默认 scaffold 行为时。Rails 8 引入的 authentication 生成器可作为现代生成器模式的参考。
限制:资料未提供该技能自身的安装命令、价格、收费模式或平台支持情况,暂未提供。