在JS中,使用HAML替换ERB失败

shy*_*cha 5 javascript haml ruby-on-rails ruby-on-rails-3

问候!

我一直在玩HAML并将一些视图转换.erb.haml.但是当我试图转换.js.erb视图时,它就不会执行.例如,似乎我的工作本来应该.js.haml没有执行.js.erb.

这是我的.js.erb(也适用):

<% 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 %>
Run Code Online (Sandbox Code Playgroud)

这就是我用它取而代之的:

-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("");
  });
Run Code Online (Sandbox Code Playgroud)

有什么问题以及如何解决?

Pet*_*ong 12

尝试:

-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("");
    });
Run Code Online (Sandbox Code Playgroud)