2012-01-31 2 views
6

Qual è la differenza tra l'utilizzo di modelli di visualizzazione in Rails come ".html.haml" e semplicemente ".haml"? Per esempio,
show.html.haml
vs
show.hamlhtml.haml vs haml in Rails visualizza modelli

Ci sono particolari vantaggi di utilizzare uno sopra l'altro? O è uno di loro una pratica standard? La stessa domanda vale anche per altri tipi di template, come ".erb".

risposta

5

Il formato è importante quando si utilizzano i risponditori automatici di Rails. Vedi http://api.rubyonrails.org/classes/ActionController/MimeResponds.html#method-i-respond_with.

Così, per esempio, con:

class CarsController < ActionController::Base 
    respond_to :html, :js 

    def index 
    respond_with Car.all 
    end 
end 

L'applicazione renderà app/views/cars/index.html.erb e app/views/index.js.erb durante la visualizzazione http://localhost:3000/cars e http://localhost:3000/cars.js, rispettivamente.

Inoltre, questa è una convenzione stabilita in Rails-land, quindi è solo una buona idea farlo comunque, anche se non si stanno utilizzando i risponditori automatici.

+1

Significa che è preferibile e standard usare ".html.haml" invece di usare ".haml"? – Vignesh

+0

Capisco che usare il formato esplicito potrebbe essere necessario quando si usano auto-responders diversi dal formato html. – Vignesh

+0

Sì, ".html.haml" sarebbe lo standard preferito. – jtrim