当您运行时,通常的生成器配置是否有办法关闭视图文件夹和操作模板的创建rails generate controller
?
我在任何地方都找不到选项,并且这里的代码没有向我显示任何指针。
无论如何,我们很可能会在某个时候为我们的 API 构建自己的控制器/资源生成器,但我很好奇是否有办法在此期间关闭这种烦恼。
当您运行时,通常的生成器配置是否有办法关闭视图文件夹和操作模板的创建rails generate controller
?
我在任何地方都找不到选项,并且这里的代码没有向我显示任何指针。
无论如何,我们很可能会在某个时候为我们的 API 构建自己的控制器/资源生成器,但我很好奇是否有办法在此期间关闭这种烦恼。
这不是一个有据可查的功能,但尝试将--skip-template-engine
(alias --no-template-engine
) 选项添加到命令中。
rails generate controller foo bar --skip-template-engine
虚拟应用程序的演示:
rails g controller my_controller index show --no-template-engine
create app/controllers/my_controller_controller.rb
route get "my_controller/show"
route get "my_controller/index"
invoke test_unit
create test/functional/my_controller_controller_test.rb
invoke helper
create app/helpers/my_controller_helper.rb
invoke test_unit
create test/unit/helpers/my_controller_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/my_controller.js.coffee
invoke scss
create app/assets/stylesheets/my_controller.css.scss
要跳过使用控制器生成的视图,请禁用模板引擎。
一次:
rails g controller ControllerName action1 action2 --skip-template-engine
请注意,每个--skip
选项也有一个别名--no
选项。
默认:
# config/application.rb
config.generators do |g|
g.template_engine false
end
# OR
config.generators.template_engine = false
如果您有一个仅 API 的应用程序(没有前端),您可能还希望跳过使用控制器生成的资产和助手。
一次:
rails g controller api/users --no-helper --no-assets --no-template-engine
默认:
# config/application.rb
config.generators do |g|
g.assets false
g.helper false
g.template_engine false
end
# OR
config.generators.assets = false
config.generators.helper = false
config.generators.template_engine = false
禁用资产会跳过样式表和javascript 的生成。如果您只想跳过一个,请使用--no-stylesheets
or --no-javascripts
,或在config/application.rb
使用中:
config.generators.stylesheets = false
config.generators.javascripts = false
如果您的默认配置跳过了某些东西的生成(例如资产和助手),但在一种情况下您需要它们,您可以像这样生成它们:
rails g controller foo --helper --assets --skip
where--skip
跳过生成已经存在的文件。
只是想我会尝试强调 --skip-template-engine 标志,看看它是否在生成器中工作并且它很有魅力!bin/rails g controller
没有从Rails 4.2 应用程序中的命令生成的视图模板。
尝试:
config.generators do |g|
g.template_engine false
end
我知道有点晚了,但这些东西在谷歌中一直存在!;)
如果你正在创建一个没有前端的 API,你可以继续使用rails new --api
. 但是,如果您确实计划创建前端(例如单页应用程序),我不推荐此选项,因为它会关闭很多东西,包括资产管道。