39 votes

Comment désactiver la génération automatique de feuilles de style et de JavaScript dans Rails 3.1 ?

J'ai un projet Rails 3.1 sur lequel je travaille, mais je ne veux pas controller_name.css.sass y controller_name.js.coffee pour être généré à chaque fois que je lance rails generate controller controller_name . Je pourrais jurer J'ai vu ce paramètre quelque part sur Internet, mais je n'arrive pas à le retrouver. Qu'est-ce que c'est ?

Gardez à l'esprit que je souhaite toujours utiliser Asset Pipeline et l'intégration CoffeeScript/Sass, mais j'organise ces fichiers à ma façon.

Je suis presque sûr que la réponse est un argument de ligne de commande, mais des points bonus pour le désactiver avec un paramètre de générateur ou un fichier caché ou quelque chose comme ça.

EDIT : J'ai trouvé l'indicateur de ligne de commande pour cela.

rails generate controller controller_name --assets=false

Ou quelque chose du genre (cette ligne est en fait une erreur, mais elle ne génère pas non plus les ressources). L'API ici montre :assets => true comme option par défaut. Comment puis-je changer cela en false et faire en sorte que ce soit toujours false à chaque fois que je génère un contrôleur ?

2 votes

Si vous ajoutez -h à la fin d'une commande rails, vous obtiendrez le fichier d'aide : rails g controller -h

87voto

Dmitry Maksimov Points 1866

Ajoutez ces lignes à application.rb :

config.generators.stylesheets = false
config.generators.javascripts = false

0 votes

C'est vraiment génial. J'ai pu vérifier que cela fonctionne. Merci !

5 votes

Cette phrase fait la même chose config.generators.assets = false

0 votes

Belle solution permanente. Il suffit probablement d'aller dans development.rb no application.rb puisqu'il ne s'applique qu'à l'environnement de développement.

21voto

Lars Levie Points 101

La nouvelle syntaxe est rails generate controller Resources --no-assets .

N'oubliez pas que vous pouvez également utiliser g à la place de generate . Et vous pouvez ignorer la création d'une aide de contrôleur en utilisant la fonction --no-helper drapeau.

10voto

Dreammm Points 31

Pour une seule fois, utilisez :

rails generate controller controller_name --no-assets

2 votes

Cela ne permet pas de répondre à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article. Vous pouvez toujours commenter vos propres articles et, une fois que vous avez suffisamment de temps pour le faire, vous pouvez le faire. réputation vous serez en mesure de commenter un article .

0 votes

@RomanC Euh, quoi ? Pour autant que je puisse dire, il fournit une réponse à la question. Il indique comment désactiver la génération automatique de ressources, même si ce n'est que pour une seule exécution de la commande.

7voto

Lucas Nelson Points 2332

Une mise à jour de la réponse de @Dmitry Maksimov pour Rails 4.2. Vous pouvez désactiver la génération par défaut des fichiers d'actifs spécifiques aux contrôleurs avec les éléments suivants dans votre fichier config/application.rb fichier (source : le guide ):

config.generators do |g|
  g.assets false
end

1voto

aarkerio Points 91

Toutes mes options dans le fichier application.rb :

config.generators do |g|
    g.stylesheets = false
    g.javascripts = false
    g.test_framework  :rspec, fixture: false
    g.template_engine :haml
    g.fixture_replacement :factory_girl, dir: 'spec/factories'
end

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X