如何在js.erb中使用Ruby代码?

时间:2016-07-15 09:21:53

标签: javascript jquery ruby ruby-on-rails-4 ujs

我能够在js.erb文件代码中使用escape_javascript在模态中呈现部分内容:

$("body").append("<%= escape_javascript(render partial: 'example_partial') %>");
$('#my_modal').modal('show');

但是,我似乎无法获得结果:

console.log(<%= @error %>)

1 个答案:

答案 0 :(得分:3)

ERB将输出一个纯字符串。 JS需要在字符串周围使用引号来识别它。您在console.log()声明中错过了它们。

将其更改为:

console.log('<%= @error %>');

您可能还会发现raw助手很有用。这将在任何erb输出上调用.to_s.html_safe

console.log('<%= raw @error %>');

详细了解html_safe here