如何在 Rails 3.1 上关闭自动样式表/javascript 生成?
Posted
技术标签:
【中文标题】如何在 Rails 3.1 上关闭自动样式表/javascript 生成?【英文标题】:How do I turn off automatic stylesheet/javascript generation on Rails 3.1? 【发布时间】:2011-11-14 01:00:00 【问题描述】:我正在处理一个 Rails 3.1 项目,但我不希望每次运行 rails generate controller controller_name
时都生成 controller_name.css.sass
和 controller_name.js.coffee
。我可以发誓我已经在互联网上的某个地方看到了这个设置,但我现在找不到它。这是什么?
请记住,我仍然想使用 Asset Pipeline 和 CoffeeScript/Sass 集成,但我正在以自己的方式组织这些文件。
我很确定答案是命令行参数,但是使用生成器设置或隐藏文件或其他东西将其关闭会加分。
编辑:我找到了它的命令行标志。
rails generate controller controller_name --assets=false
或类似的东西(该行实际上出错了,但它也不会生成资产)。 API here 将:assets => true
显示为默认选项。如何将其更改为 false 并在每次生成控制器时始终为 false?
【问题讨论】:
如果您将-h
添加到rails 命令的末尾,它将为您提供帮助文件:rails g controller -h
【参考方案1】:
将这些行添加到application.rb
:
config.generators.stylesheets = false
config.generators.javascripts = false
【讨论】:
太棒了。我能够验证它是否有效。谢谢! 这个单线也一样config.generators.assets = false
不错的永久解决方案。可能只需要进入development.rb
而不是application.rb
,因为它只适用于开发环境。
总结,environments/development.rb
,config.generators.assets = false
没有帮助,config.generators.helper = false
【参考方案2】:
新语法是rails generate controller Resources --no-assets
。
别忘了您也可以使用g
代替generate
。您可以使用--no-helper
标志跳过创建控制器助手。
【讨论】:
【参考方案3】:仅使用一次:
rails generate controller controller_name --no-assets
【讨论】:
这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 @RomanC 呃,什么?据我所知,它确实提供了问题的答案。它说明了如何关闭自动资产生成,尽管只是运行一次命令。【参考方案4】:@Dmitry Maksimov 对 Rails 4.2 的回答的更新。默认情况下,您可以在 config/application.rb
文件中使用以下内容禁用控制器特定资产文件的生成(来源:the guide):
config.generators do |g|
g.assets false
end
【讨论】:
【参考方案5】:我在 application.rb 文件中的全部选项:
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
【讨论】:
以上是关于如何在 Rails 3.1 上关闭自动样式表/javascript 生成?的主要内容,如果未能解决你的问题,请参考以下文章
针对 Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [关闭]