Rails,为什么这个帮助器不输出HTML,而是引用HTML?
我的application_helper.rb文件中有以下帮助器:
def topmenu pages = { "projects" => projects_path, "photos" => photos_path } pages.map do |key, value| classnames = %( class="current") if controller.controller_name == key "#{link_to(key, value)} " end end
然后在我的application.html.erb文件中,我有:
出于某种原因,该页面生成的显示来自上述帮助程序的HTML为TEXT,而不是HTML。 不知道为什么? 谢谢
我认为你正在运行rails3。 在返回字符串之前添加.html_safe
方法调用:
"#{link_to(key, value)}".html_safe
它使代码更干净? 不是吗? 你可以在帮助function中做更多的事情(因为它不仅仅是一个HTML)