我的rails帮助器将'<'渲染为'&lt;'!如何使其正确渲染?

Tia*_*ago 6 ruby-on-rails helpers ruby-on-rails-plugins ruby-on-rails-3

我在这里开发一个简单的插件,而且这个目的正在发挥作用.除了我的助手.它是一个非常简单的帮助器,它只需要回显一个<span></span>以后的javascript解析.

问题是,它没有使html正确,它用html等效代码替换特殊字符.

我的插件初始化程序:

ActionView::Helpers.send :include, Test
Run Code Online (Sandbox Code Playgroud)

我的插件助手:

module Test    
  def only_for_testing
    render(:text => "<span></span>")
  end
end
Run Code Online (Sandbox Code Playgroud)

当我在视图中调用only_for_testing帮助器时,而不是渲染"<span></span>"它呈现" &lt;span&gt;&lt;/span&gt;"

我尝试删除渲染,只返回字符串,效果相同.我真的不想为此创建一个部分,因为它是一个非常非常简单的html,它不是用于布局,它只是用于解析.

知道我在这里做错了什么吗?

joh*_*ley 16

Rails 3在视图中默认转义为HTML.您需要使用raw()帮助器或"HTML string here".html_safe


the*_*gah 6

module Test    
  def only_for_testing
    render(:html=> "<span></span>")
  end
end
Run Code Online (Sandbox Code Playgroud)