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