如何在 js.erb 中删除 “ 以渲染 JavaScript Rails

how to remove &quot in js.erb to render javascript rails

本文关键字:JavaScript Rails 删除 js erb      更新时间:2023-09-26

我想通过file.js.erb将javascript代码附加到正文中。这是我写的:

$("body").append("<script type='text/javascript'> method_1({'<%= current_user.selections.pluck(:name).each do |t| raw t end %>'});</script>");

但我总是给我一个数组,并在javascript代码中附加了"quot"。我也尝试使用原始/html_safe。但它似乎没有效果

我已经尝试了其他SO链接,但它似乎没有帮助。我正在使用导轨 3。

您可以添加条件

{'<%= current_user.selections.pluck(:name).each do |t| raw (t.include?("&quot;") ? t.gsub("&quot;", "") : t) end %>'}

经过几次试验,我明白 html_safe 或 raw 是 String 类的方法,我正在数组上使用它,我也从迭代器中删除了 equal(=),所以这就是我现在的做法:

<% current_user.selections.pluck(:path).each do |t| %><%= raw(t) %>': true, '<% end %>'

现在,它以某种方式工作..虽然我面临一些其他问题,例如在数组末尾获取空字符串,但不知道为什么。但至少&quot;被删除了

试试这个轨道escape_javascripthttp://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html