运行`rails generate controller`时跳过创buildtesting,资产和助手的语法是什么?

我阅读帮助和尝试以下命令跳过生成的testing,资产和帮手文件

$ bin/rails generate controller home index --helper false --assets false --controller-specs false --view-specs false create- app/controllers/home_controller.rb route get "home/index" invoke erb create app/views/home create app/views/home/index.html.erb invoke rspec error false [not found] error false [not found] 

正如你可能注意到这个工程&唯一controller, routes上面的输出,会生成controller, routesviews 。 但是最后两行很有意思:

 error false [not found] error false [not found] 

显然,rails似乎不喜欢--option-name false语法。 所以这个错误,因为我使用了错误的语法? 如果是,那么正确的方法是什么? 谢谢

尝试使用--no-后跟optionname

 rails generate controller home index --no-helper --no-assets --no-controller-specs --no-view-specs 

如果要在每次运行generator命令时更改默认行为,可以在application.rb文件中configuration默认​​值 – 请参阅如何确保Rails不会为视图和帮助程序生成规范testing? 。

要closures而不必添加选项:

 # application.rb config.generators.assets = false config.generators.helper = false 

只提供API的应用程序不需要javascriptstylesheetviewshelpers 。 要跳过生成器/脚手架中的这些文件,请在application.rb添加以下代码块

 #to skip assets, scaffolds.css, test framework, helpers, view config.generators do |g| g.template_engine nil #to skip views g.test_framework nil #to skip test framework g.assets false g.helper false g.stylesheets false end 

检查链接关于生成器的更多细节

更简洁:

 rails g controller home index --no-assets --no-test-framework