Saluti!Sostituzione ERB con errore HAML in JS
Ho scherzato con HAML e ho convertito alcune viste parziali da .erb
a .haml
. Ma quando ho provato a convertire la vista .js.erb
, non lo eseguirò. Per esempio. sembra che il mio .js.haml
non venga eseguito mentre .js.erb
funziona come dovrebbe essere.
Ecco la mia .js.erb
(che funziona così):
<% if @quote.errors.any? && @quote.approved? %>
$("#data_form").html("<%= escape_javascript(render(:partial => "form")) %>");
<% else %>
$("#data_grid").prepend("<%= escape_javascript(render :partial => "quote", :locals => { :quote => @quote }) %>");
$("#quote_author,#quote_body").each(function(i,e) {
$(this).val("");
});
<% end %>
Ed ecco che cosa sto sostituendolo con:
-if @quote.errors.any? && @quote.approved?
$("#data_form").html("#{escape_javascript(render(:partial => "form"))}");
-else
$("#data_grid").prepend("#{escape_javascript(render :partial => "quote", :locals => { :quote => @quote })}");
$("#quote_author,#quote_body").each(function(i,e) {
$(this).val("");
});
Qual è il problema e come risolverlo?
vuoi dire che il javascript non viene eseguito? Hai controllato qual è la risposta che ottiene il browser (controlla ad esempio Firebug). – Heikki
Questa è in realtà una domanda piuttosto importante, non so perché alcuni altri sostengono altrove che ".js.haml" non è supportato – prusswan