2013-02-18 15 views
7

Sarebbe molto utile se potessi precompilare i modelli sottili utilizzando la pipeline di asset delle rotaie. Speravo di incollare i miei modelli in app/assets/html e di pubblicarli in quel modo.Precompila modelli sottili utilizzando la pipeline di asset di rotaie

Ecco quello che ho finora:

# config/initializers/slim.rb 
Rails.application.assets.register_engine('.slim', Slim::Template) 

# config/application.rb 
config.assets.paths << "#{Rails.root}/app/assets/html" 
config.assets.register_mime_type('text/html', '.html') 

beni rake di lavoro: precompilare legge i file .html.slim in app/attività/html, ma non loro e il file di output continua a non compilare ha l'estensione .slim.

C'è un modo per farlo funzionare?

risposta

1

La risposta da @ kurt-Mueller è corretto, ma le esigenze da aggiornare per Rails 4 with Sprockets 3+. C'è stato un cambiamento in Pignoni che indica che la proprietà assets non è presente durante l'inizializzazione. Invece si può fare:

# config/initializers/slim.rb 

Rails.application.config.after_initialize do |app| 
    app.config.assets.configure do |env| 
    env.register_engine(".slim", Slim::Template) 
    end 
end 
+0

aggiornato la mia risposta per utilizzare il [metodo consigliato] (https://github.com/rails/sprockets-rails/issues/307#issuecomment-170707886). –

0

Si potrebbe provare ad aggiungere il nuovo percorso come questo sul production.rb:

config.assets.precompile += ["*.js", "*.css", "*.slim"] #whatever you need 
1

Scusate il tardiva alla festa, ma Dillon Buchanan risposto a questa domanda here.

Andare alla directory config/initializers e creare un file come slim_assets.rb (o qualcosa di simile) e copia-paste la seguente riga:

Rails.application.assets.register_engine('.slim', Slim::Template) 

che ho fatto qualcosa di simile con grande successo con HAML (che io uso scrivere modelli per app Rails/AngJS).

-1

è necessario aggiungere i file statici in una matrice precompilare:

config.assets.precompile + =% w (venditore/Modernizr 404.html)

Problemi correlati