我正在这里制作一个简单的插件,到目前为止它正在发挥作用。
除了我的助手。
它是一个非常简单的帮助器,它只需要回显一个 <span></span>
,以便以后进行javascript解析。
问题是,它没有使html正确,它用html等效代码替换特殊字符。
我的插件初始化程序:
ActionView::Helpers.send :include, Test
我的插件助手:
module Test
def only_for_testing
render(:text => "<span></span>")
end
end
当我在视图中调用only_for_testing帮助器时,而不是呈现"<span></span>"
它呈现“<span></span>
”
我尝试删除渲染,只返回字符串,效果相同。 我真的不想为此创建一个部分,因为它是一个非常简单的html,它不是用于布局,它只是用于解析。
知道我在这里做错了吗?
答案 0 :(得分:16)
Rails 3默认在视图中转义HTML。您需要使用raw()帮助器或“HTML string here”.html_safe
答案 1 :(得分:6)
module Test
def only_for_testing
render(:html=> "<span></span>")
end
end
答案 2 :(得分:3)
在rails 3.2中,我的助手无法识别“:html”符号, 但我相信它已被“:inline”取代,因为这对我有用
module IndexHelper
def logo
render(:inline=> "<div class='css_name'></div>")
end
end