从rails助手返回javascript

从rails助手返回javascript,javascript,html,ruby-on-rails-3,Javascript,Html,Ruby On Rails 3,我从助手函数返回javascript时遇到问题。我无法使以下测试用例正常工作: helpers/application_helper.rb中的函数 def show_stuff return '$("div#flash").html("<p> stuff </p>");' end 我也试过show_stuff.html_safe和raw show_stuff,但运气不好。我觉得问题是Rails自动转义html,但一直无法找到解决方案。ERB正在转义输出Javas

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

helpers/application_helper.rb中的函数

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

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

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

要防止这种情况发生,请在模板中使用
raw
方法

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

我已经为上下文添加了
javascript\u标记
方法。

Try和/或。另外,请注意,ruby方法不需要
return
,因为它始终返回最后一行的值。
$(&quot;div#flash&quot;).html(&quot;&lt;p&gt; stuff &lt;/p&gt;&quot;);
<%= javascript_tag do %>
    <%= raw(show_stuff) %>
<% end %>