2011-09-09 1 views
34

Ho un progetto Rails 3.1 su cui sto lavorando, ma non desidero generare controller_name.css.sass e controller_name.js.coffee ogni volta che eseguo rails generate controller controller_name. Potrei imprecare Ho visto l'impostazione da qualche parte su Internet, ma non riesco a trovarla ora per la vita di me. Che cos'è?Come disattivare la generazione automatica di fogli di stile/javascript su Rails 3.1?

Ricorda che sto ancora utilizzando la pipeline di asset e l'integrazione di CoffeeScript/Sass, ma sto organizzando questi file a modo mio.

Sono quasi sicuro che la risposta è un argomento da riga di comando, ma punti bonus per disattivarlo con un'impostazione generatore o un file nascosto o qualcosa del genere.

EDIT: Ho trovato il flag della riga di comando per questo.

rails generate controller controller_name --assets=false 

O qualcosa di simile (quella riga in realtà si sbaglia, ma non genera anche le risorse). L'API here mostra :assets => true come opzione predefinita. Come posso cambiarlo in falso e farlo sempre falso ogni volta che creo un controller?

+2

se si aggiunge '-h' a Alla fine di un comando di rota ti darà il file di aiuto: 'rails g controller -h' – greggreg

risposta

80

aggiungere queste righe al application.rb:

config.generators.stylesheets = false 
config.generators.javascripts = false 
+0

È fantastico. Sono stato in grado di verificare che funzioni. Grazie! –

+3

Questo one-liner esegue lo stesso 'config.generators.assets = false' – Dennis

+0

Bella soluzione permanente. Probabilmente ha solo bisogno di andare in 'development.rb' not' application.rb' poiché si applica solo all'ambiente di sviluppo. –

10

Per un solo tempo, l'uso:

rails generate controller controller_name --no-assets 
+2

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti da un autore, lascia un commento sotto il loro post - puoi sempre commentare i tuoi post, e una volta che hai sufficiente [reputazione] (http://stackoverflow.com/faq#reputation) sarai in grado [commentare qualsiasi post] (http://stackoverflow.com/privileges/comment). –

+0

@RomanC Uh, cosa? Per quanto posso dire, fornisce una risposta alla domanda. Dice come disattivare la generazione automatica degli asset, anche se solo per una corsa del comando. –

20

nuova sintassi è rails generate controller Resources --no-assets.

Non dimenticare che è inoltre possibile utilizzare g al posto di generate. E puoi saltare la creazione di un helper del controller usando il flag --no-helper.

7

Un aggiornamento sulla risposta di @Dmitry Maksimov per Rails 4.2. È possibile disattivare la generazione di file di risorse specifiche del controller di default con il seguente nel file config/application.rb (fonte: the guide):

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

tutta la mia opzioni:

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