如何在js.erb中使用Ruby代码?
How to use Ruby code inside js.erb?
我可以在 js.erb 文件代码中使用 escape_javascript
在模态内渲染部分代码:
$("body").append("<%= escape_javascript(render partial: 'example_partial') %>");
$('#my_modal').modal('show');
但是,我似乎无法获得以下结果:
console.log(<%= @error %>)
ERB 将输出纯字符串。 JS 需要在字符串周围加上引号才能被识别。您在 console.log()
声明中遗漏了它们。
改为:
console.log('<%= @error %>');
您可能还会发现 raw
助手很有用。这将在任何 erb 输出上调用 .to_s
和 .html_safe
:
console.log('<%= raw @error %>');
详细了解 html_safe
here。
我可以在 js.erb 文件代码中使用 escape_javascript
在模态内渲染部分代码:
$("body").append("<%= escape_javascript(render partial: 'example_partial') %>");
$('#my_modal').modal('show');
但是,我似乎无法获得以下结果:
console.log(<%= @error %>)
ERB 将输出纯字符串。 JS 需要在字符串周围加上引号才能被识别。您在 console.log()
声明中遗漏了它们。
改为:
console.log('<%= @error %>');
您可能还会发现 raw
助手很有用。这将在任何 erb 输出上调用 .to_s
和 .html_safe
:
console.log('<%= raw @error %>');
详细了解 html_safe
here。