2011-09-09 39 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 
相關問題