ruby-on-rails – 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
      "<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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...