Returning javascript from rails helper



我在从辅助功能中返回JavaScript时遇到问题。我无法使以下测试案例工作:

helpers/application_helper.rb

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

现在,我尝试将此助手函数命名为J.S.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,但无法找到解决方案。

erb逃脱了输出的JavaScript中的字符。

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

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

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

最新更新