0

我在从帮助函数返回 javascript 时遇到问题。我无法使以下测试用例工作:

helpers/application_helper.rb 中的函数

def show_stuff
    return '$("div#flash").html("<p> stuff </p>");'
end

现在我尝试在 general.js.erb 中调用这个辅助函数

<%= show_stuff %>

这是输出

$(&quot;div#flash&quot;).html(&quot;&lt;p&gt; stuff &lt;/p&gt;&quot;);

我也试过 show_stuff.html_safe 和 raw show_stuff 并没有运气。我觉得问题是 Rails 自动转义 html 但一直找不到解决方案。

4

1 回答 1

0

ERB 正在转义您输出的 Javascript 中的字符。

为防止这种情况发生,请使用raw模板中的方法。

<%= javascript_tag do %>
    <%= raw(show_stuff) %>
<% end %>

我已经javascript_tag为上下文添加了方法。

于 2012-10-23T21:29:03.443 回答