ruby-on-rails – Rails,为什么这个助手不输出HTML,而是引用HTML?

前端之家收集整理的这篇文章主要介绍了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
原文链接:https://www.f2er.com/ruby/271321.html

猜你在找的Ruby相关文章