Javascript 如何使rails不将转义引号呈现为\&;引用;

Javascript 如何使rails不将转义引号呈现为\&;引用;,javascript,ruby-on-rails,actionview,Javascript,Ruby On Rails,Actionview,在我的布局中,我有 <% @current_user.popups.each do |p| %> <% content_for :script do %> <%= "$(document).ready ( function() { $.jGrowl(\"#{p.message}\", { sticky: true }) });" %> <% end %> <% end %> 然后在脚本部分我有 <%= yie

在我的布局中,我有

<% @current_user.popups.each do |p| %>
  <% content_for :script do %>
    <%= "$(document).ready ( function() { $.jGrowl(\"#{p.message}\", { sticky: true }) });" %>
  <% end %>
<% end %>

然后在脚本部分我有

<%= yield :script %>

问题是,这会将转义引号呈现为
\“
,javascript不喜欢这样


我如何才能阻止这种情况发生?或者有其他方法吗?我不能使用单引号,因为我希望在消息中包含一些html。我非常感谢您的帮助。

您使用的是Rails 3吗?在Rails 3中,html转义是默认完成的,您每次都必须绕过它。如下所示:jdl有正确的想法abo但是听起来你仍然有问题

<% content_for :script do %>
  $(document).ready ( function() { $.jGrowl("<%= raw(p.message) %>", { sticky: true }) });
<% end %>

尝试将.html\u safe添加到视图中的字符串中

<%= "$(document).ready ( function() { $.jGrowl(\"#{p.message.html_safe}\", { sticky: true }) });" %>


如果jdl的答案很好,我仍然建议使用escape\u javascript帮助程序来转义引号和新行谢谢你,我需要这样做才能将html放入邮件中。我更喜欢这个答案,所以我删除了我的答案。
<%= "$(document).ready ( function() { $.jGrowl(\"#{p.message.html_safe}\", { sticky: true }) });" %>