web-dev-qa-db-fra.com

Quelle est la syntaxe pour ignorer la création de tests, d'actifs et d'aides lors de l'exécution de `Rails generate controller`?

J'ai lu l'aide et essayé la commande suivante pour ignorer la génération de tests, de ressources et de fichiers d'assistance

$ 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]

Comme vous pouvez le constater par la sortie ci-dessus, cela fonctionne & seulement controller, routes & views sont générés. Mais comme les deux dernières lignes sont intéressantes:

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

De toute évidence Rails ne semble pas aimer --option-name false syntaxe. donc cette erreur parce que j'ai utilisé la mauvaise syntaxe? Si oui, quelle est la bonne façon? Merci

74
CuriousMind

Essayez d'utiliser --no- suivi de optionname:

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

Si vous souhaitez modifier le comportement par défaut à chaque fois que vous exécutez la commande du générateur, vous pouvez configurer les valeurs par défaut que vous souhaitez dans le fichier application.rb - voir Comment puis-je m'assurer que Rails = ne génère pas de tests de spécifications pour les vues et les aides? .

150
PinnyM

Pour désactiver sans avoir à ajouter d'options:

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

Les applications qui ne servent qu'à l'API ne nécessitent pas javascript, stylesheet, views, helpers. Pour ignorer ces fichiers dans le générateur/échafaudage, ajoutez le bloc de code ci-dessous dans le 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

consultez le lien pour plus de détails sur générateurs

42
Arivarasan L

Plus concis:

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