2016-07-15 108 views
1

我能够呈现js.erb文件代码中使用escape_javascript一个模式里面部分:如何在js.erb中使用Ruby代码?

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

不过,我似乎无法得到结果:

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

你需要在红宝石助手周围放置引号。 'console.log('<%= @error %>')' –

+0

这是正确的谢谢。我的错 –

回答

2

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

将其更改为:

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

您也可以找到raw帮手有用。这将调用.to_s.html_safe任何ERB输出:

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

了解更多关于html_safehere