【问题标题】:How to use Ruby code inside js.erb?如何在 js.erb 中使用 Ruby 代码?
【发布时间】:2016-11-18 10:43:41
【问题描述】:

我可以在 js.erb 文件代码中使用 escape_javascript 在模态框内渲染部分内容:

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

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

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

【问题讨论】:

  • 您需要在 ruby​​ 助手周围放置逗号。 console.log('&lt;%= @error %&gt;')
  • 是的,谢谢。我的坏

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


【解决方案1】:

ERB 将输出一个纯字符串。 JS 需要在字符串周围加上逗号才能被识别。您在console.log() 声明中错过了它们。

改成:

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

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

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

阅读更多关于html_safehere的信息。

【讨论】:

  • “反逗号”——我第一次听到那个……我们不是说“单引号字符串”吗?!
  • 我猜他们看起来都一样,不管他们是其他人之一
猜你喜欢
  • 2020-05-03
  • 2020-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多