I'm working on a simple plugin here, and this far it is working.
Except my helper.
Its a very simple helper, it just needs to echo a <span></span>
for later javascript parsing.
The problem is, its not rendering the html correcty, its replacing special chars by the html equivalent code.
My plugin initializer:
ActionView::Helpers.send :include, Test
My plugin helper:
module Test
def only_for_testing
render(:t开发者_运维百科ext => "<span></span>")
end
end
When I call the only_for_testing helper inside the view, instead of rendering the "<span></span>"
it renders "<span></span>
"
I tryed remove the render, return only the string, same effect. I really dont want to create a partial for this, because its a very very simple html, and its not for layout, its just for parsing.
Any idea what i may have done wrong here?
Rails 3 escapes HTML by default in the view. You need to use the raw() helper or "HTML string here".html_safe
module Test
def only_for_testing
render(:html=> "<span></span>")
end
end
in rails 3.2, my helper did not recognize the ":html" symbol, but I believe it's been replaced with ":inline" as this is what worked for me
module IndexHelper
def logo
render(:inline=> "<div class='css_name'></div>")
end
end
精彩评论