如何禁用Draper装饰器生成器?

时间:2013-02-25 16:20:59

标签: ruby-on-rails ruby-on-rails-3 draper

在我的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生成装饰器文件,但它们仍然会被创建。请问有人能告诉我我想念的是什么吗?

1 个答案:

答案 0 :(得分: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

来自铁路......

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

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

$ rails generate decorator foo