如何在Rails 3.1上关闭自动样式表/ javascript生成?

时间:2011-09-09 19:02:45

标签: ruby ruby-on-rails-3.1 coffeescript sass

我有一个我正在处理的Rails 3.1项目,但每次运行controller_name.css.sass时我都不希望生成controller_name.js.coffeerails generate controller controller_name。我可以发誓我已经在互联网上的某个地方看过这个设置,但我现在找不到它的生命。它是什么?

请记住,我仍然想要使用Asset Pipeline和CoffeeScript / Sass集成,但我正在以自己的方式组织这些文件。

我很确定答案是命令行参数,但是使用生成器设置或隐藏文件或其他东西来关闭它的奖励点。

编辑:我找到了它的命令行标志。

rails generate controller controller_name --assets=false

或类似的东西(该行实际上出错,但它也不会生成资产)。 API here会将:assets => true显示为默认选项。如何将其更改为false并在每次生成控制器时始终为false?

5 个答案:

答案 0 :(得分:84)

将这些行添加到application.rb

config.generators.stylesheets = false
config.generators.javascripts = false

答案 1 :(得分:21)

新语法为rails generate controller Resources --no-assets

不要忘记您也可以使用g代替generate。您可以使用--no-helper标志跳过控制器助手的创建。

答案 2 :(得分:10)

只使用一次:

rails generate controller controller_name --no-assets

答案 3 :(得分:7)

关于@Dmitry Maksimov对Rails 4.2的回答的更新。您可以默认使用config/application.rb文件中的以下内容禁用特定于控制器的资产文件的生成(来源:the guide):

config.generators do |g|
  g.assets false
end

答案 4 :(得分:1)

我的全部选择:

config.generators do |g|
    g.stylesheets = false
    g.javascripts = false
    g.test_framework  :rspec, fixture: false
    g.template_engine :haml
    g.fixture_replacement :factory_girl, dir: 'spec/factories'
end