繁体   English   中英

从Rails助手返回JavaScript

[英]Returning javascript from rails helper

我在从辅助函数返回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,但一直未能找到解决办法。

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

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

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

我为此添加了javascript_tag方法作为上下文。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM