我在从辅助功能中返回JavaScript时遇到问题。我无法使以下测试案例工作:
helpers/application_helper.rb
功能def show_stuff
return '$("div#flash").html("<p> stuff </p>");'
end
现在,我尝试将此助手函数命名为J.S.erb
<%= show_stuff %>
这是输出
$("div#flash").html("<p> stuff </p>");
我还尝试了show_stuff.html_safe和raw show_stuff,但没有运气。我觉得问题是Rails自动排列HTML,但无法找到解决方案。
erb逃脱了输出的JavaScript中的字符。
为了防止这种情况使用,使用模板中的raw
方法。
<%= javascript_tag do %>
<%= raw(show_stuff) %>
<% end %>
我已经在上下文中添加了javascript_tag
方法。