web-dev-qa-db-ja.com

「Rails generate controller」を実行するときにテスト、アセット、ヘルパーの作成をスキップする構文は何ですか?

ヘルプを読み、次のコマンドを試してテスト、アセット、ヘルパーファイルの生成をスキップしました

$ 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, routesviewsが生成されます。ただし、最後の2行は興味深いものです。

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

明らかにRailsは--option-name false構文。間違った構文を使用したため、このエラーですか?はいの場合、正しい方法は何ですか?ありがとう

74
CuriousMind

--no-に続いてoptionnameを使用してみてください。

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

Generatorコマンドを実行するたびにデフォルトの動作を変更したい場合は、application.rbファイルで希望するデフォルトを設定できます- を参照してくださいRailsは、ビューとヘルパーの仕様テストを生成しませんか?

150
PinnyM

オプションを追加せずにオフにするには:

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

APIのみを提供するアプリケーションは、javascriptstylesheetviewshelpersを必要としません。 generator/scaffoldのこれらのファイルをスキップするには、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

generators の詳細については、リンクを確認してください

42
Arivarasan L

より簡潔に:

Rails g controller home index --no-assets --no-test-framework
22
Erik Trautman