运行`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, routes
和views
。 但是最后两行很有意思:
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的应用程序不需要javascript
, stylesheet
, views
, helpers
。 要跳过生成器/脚手架中的这些文件,请在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