3

在我的 Rails 3.2 应用程序中application.rb,我有以下几行来禁用我不想要的脚手架生成器:

module MyApp
  class Application < Rails::Application

    # rest of the config...

    config.generators do |g|
      g.helper false
      g.stylesheets false
      g.javascripts false
    end
  end
end

该应用程序正在使用Draper gem,如果我运行rails generate,则被decorator列为可用生成器之一。我假设添加g.decorator false到上面的列表会阻止rails generate scaffold SomeModel生成装饰器文件,但它们仍然被创建。谁能告诉我我错过了什么?

4

1 回答 1

4

Draper 配置为默认为每个控制器构建装饰器。您可以在 application.rb 文件中添加一行来更改默认配置...

module MyApp
  class Application < Rails::Application

    # rest of the config...

    config.generators do |g|
      g.helper false
      g.stylesheets false
      g.javascripts false
      g.decorator   false
    end
  end
end

这是德雷珀有趣的一点……

https://github.com/drapergem/draper/blob/master/lib/generators/controller_override.rb

来自Railtie的电话...

https://github.com/drapergem/draper/blob/master/lib/draper/railtie.rb

请注意,您仍然可以显式生成装饰器...

$ rails generate decorator foo
于 2014-01-09T18:24:45.267 回答