5 Stimmen

ERB-Ersetzung durch HAML schlägt in JS fehl

Grüße!

Ich habe herumgealbert mit HAML und konvertiert ein paar Ansicht Teilbereiche von .erb à .haml . Aber als ich versuchte zu konvertieren .js.erb Ansicht, sie lässt sich einfach nicht ausführen. Z.B. scheint mein .js.haml nicht ausgeführt wird, während .js.erb funktioniert, wie es sein sollte.

Hier ist mein .js.erb (was ebenfalls funktioniert):

<% 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 %>

Und hier ist das, womit ich es ersetze:

-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("");
  });

Was ist das Problem und wie kann es gelöst werden?

12voto

PeterWong Punkte 15841

Versuchen Sie es:

-if @quote.errors.any? && @quote.approved?
  :plain
    $("#data_form").html("#{escape_javascript(render(:partial => "form"))}");
-else
  :plain
    $("#data_grid").prepend("#{escape_javascript(render :partial => "quote", :locals => { :quote => @quote })}");
    $("#quote_author,#quote_body").each(function(i,e) {
      $(this).val("");
    });

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X