通常のジェネレーター構成で、実行時にビューフォルダーとアクションテンプレートの作成をオフにする方法はあります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 の生成がスキップされます。1 つだけスキップする場合は、--no-stylesheets
または--no-javascripts
、または in config/application.rb
useを使用します。
config.generators.stylesheets = false
config.generators.javascripts = false
デフォルトの構成で何かが生成されないようになっている場合 (アセットやヘルパーなど)、1 つのケースでそれらが必要な場合は、次のように生成できます。
rails g controller foo --helper --assets --skip
where--skip
は、既に存在するファイルの生成をスキップします。