Rails 自定义脚手架

Rails custom scaffolds

我使用两个模板在我的 Rails 应用程序中创建我的控制器。我已经能够使用 this tutorial 自定义我的脚手架来处理我的模板之一。我想知道是否有办法创建两个脚手架。我希望能够调用 rails generate scaffold1 Thisrails generate scaffold2 That 并生成我的自定义控制器。

是的,这是可以做到的。

已记录在案 here,我将复习一下要点:

  • 'scaffold' 只是一个 'generator'
  • 生成器基于 thor
  • 发电机本身就有发电机
  • 您可以通过在 lib/generators/
  • 中添加文件来相当轻松地创建自己的生成器

页面示例:

The first step is to create a file at lib/generators/initializer_generator.rb with the following content:

class InitializerGenerator < Rails::Generators::Base
  def create_initializer_file
    create_file "config/initializers/initializer.rb", "# Add initialization content here"
  end
end

然后用 rails generate initializer 调用生成器,就像你 运行 rails generate scaffold 一样(除了上面的初始化器不接受额外的值)