取消rails.rb文件中的javascript/返回ruby方法中的js

取消rails.rb文件中的javascript/返回ruby方法中的js,javascript,ruby-on-rails,Javascript,Ruby On Rails,我在插件的一个方法中返回了以下js(字符串文本)。因此,当我调用该方法时,它会将其放在我的视图中。问题出在网站上,所有的都经常被问到。您需要告诉Rails不要通过以下两种方式之一转义字符串: 大多数情况下首选第一种,因为它更灵活。例如,您可以在定义字符串时将其标记为HTML安全,然后如果有人修改它,它将自动标记为不安全。这有助于避免意外打开自己的漏洞 但是,最好将代码移动到某种视图中。您应该避免在方法中包含输出。对于助手来说,有限的输出代码是最好的(通常只是片段)。Rails自动转义html

我在插件的一个方法中返回了以下js(字符串文本)。因此,当我调用该方法时,它会将其放在我的视图中。问题出在网站上,所有的
都经常被问到。您需要告诉Rails不要通过以下两种方式之一转义字符串:

  • 大多数情况下首选第一种,因为它更灵活。例如,您可以在定义字符串时将其标记为HTML安全,然后如果有人修改它,它将自动标记为不安全。这有助于避免意外打开自己的漏洞


    但是,最好将代码移动到某种视图中。您应该避免在方法中包含输出。对于助手来说,有限的输出代码是最好的(通常只是片段)。

    Rails自动转义html以防止XSS攻击。您有两个选择:

    # Provided that my_escaped_string is what you want to display
    <%= my_escaped_string.html_safe %>
    <%= raw my_escaped_string %>
    
    #前提是我的转义字符串是您要显示的字符串
    

    您也可以在任何方法中使用
    html\u-safe

    非常感谢!是的,理想情况下,它会在其他地方,但我正试图改变插件尽可能少:)谢谢!对不起,我必须在几秒钟前把票投给那个家伙:(
    # Provided that my_escaped_string is what you want to display
    <%= my_escaped_string.html_safe %>
    <%= raw my_escaped_string %>