我的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 "<li#{classnames}>#{link_to(key,value)}</li>" end end
然后在我的application.html.erb文件中,我有:
<%= topmenu %>
出于某种原因,该页面生成的显示来自上述帮助程序的HTML为TEXT,而不是HTML.不知道为什么?谢谢
解决方法
我认为你正在运行rails3.在返回字符串之前添加.html_safe方法调用:
"<li#{classnames}>#{link_to(key,value)}</li>".html_safe