1

erb ファイル内のこの JavaScript が機能しない理由を理解しようとしています。

<%= javascript_tag do %>
    var tmp= "<%=j  render :partial  => "layouts/alert_error_message", :object=>@campaign %>";
<% end  %>

このメッセージが表示されます

compile error
/var/www/gitorious/app/views/campaigns/new.html.erb:32: syntax error, unexpected ')'
...r.concat(( javascript_tag do ).to_s); @output_buffer.concat ...
/var/www/gitorious/app/views/campaigns/new.html.erb:38: syntax error, unexpected kENSURE, expecting ')'

代わりに使用する<% javascript_tag do %>と、render メソッドは正しく処理されますが、javascript で tmp 変数が設定されません (console.log(tmp)戻り値undefined)

編集: render メソッドをラップしてescape_javascript動作しましたが、 を使用した場合にのみ動作する理由はまだわかりません<% javascript_tag do %>。で動作すると思われません<%= javascript_tag do %>か?

4

0 に答える 0