2011-09-09 42 views
34

我有一个我正在开发的Rails 3.1项目,但我不想每次运行rails generate controller controller_name时生成controller_name.css.sasscontroller_name.js.coffee。我可以发誓我已经看到了互联网上的某个地方的设置,但我现在无法为我的生活找到它。它是什么?如何关闭Rails 3.1上的自动样式表/ JavaScript生成?

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

我敢肯定,答案是一个命令行参数,但奖励点关闭发电机设置或隐藏的文件或什么的。

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

rails generate controller controller_name --assets=false 

或类似的东西(该行实际上出错,但它也不会产生资产)。 API here显示:assets => true作为默认选项。我怎么改变它为假,并且每次我生成一个控制器时总是假?

+2

如果添加'-h'到一个rails命令的结尾会给你一个帮助文件:'rails g controller -h' – greggreg

回答

80

这些行添加到application.rb

config.generators.stylesheets = false 
config.generators.javascripts = false 
+0

这太棒了。我能够验证它的工作原理。谢谢! –

+3

这一行代码完全相同'config.generators.assets = false' – Dennis

+0

很好的永久解决方案。可能只需要进入'development.rb'而不是'application.rb',因为它只适用于开发环境。 –

10

只是一个时间,使用:

rails generate controller controller_name --no-assets 
+2

这并没有提供问题的答案。要批评或要求作者澄清,在他们的帖子下留下评论 - 你可以随时评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/faq#reputation),你将能够[评论任何帖子](http://stackoverflow.com/privileges/comment)。 –

+0

@RomanC呃,什么?据我所知,它确实提供了一个问题的答案。它说如何关闭自动资产生成,尽管只是执行一次命令。 –

20

新语法rails generate controller Resources --no-assets。您可以使用g来代替generate。您可以跳过使用--no-helper标志创建控制器帮助程序。

7

@Dmitry Maksimov对Rails 4.2的回答更新。

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

我的整个选项:您可以通过默认在您的config/application.rb文件中的以下(:the guide源)禁止代控制器特定资产文件

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 
相关问题