我有一个我正在处理的Rails 3.1项目,但每次运行controller_name.css.sass
时我都不希望生成controller_name.js.coffee
和rails generate controller controller_name
。我可以发誓我已经在互联网上的某个地方看过这个设置,但我现在找不到它的生命。它是什么?
请记住,我仍然想要使用Asset Pipeline和CoffeeScript / Sass集成,但我正在以自己的方式组织这些文件。
我很确定答案是命令行参数,但是使用生成器设置或隐藏文件或其他东西来关闭它的奖励点。
编辑:我找到了它的命令行标志。
rails generate controller controller_name --assets=false
或类似的东西(该行实际上出错,但它也不会生成资产)。 API here会将:assets => true
显示为默认选项。如何将其更改为false并在每次生成控制器时始终为false?
答案 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