0

对不起,如果这听起来很明显,但我很困惑。我正在尝试构建一个导航列表助手。

目前它从一个数组中接收到一个链接列表。

module ApplicationHelper
  def site_pages
    %w{index about contact promotions}
  end

  def nav_builder list     
    list.map do |l|
      content_tag :li do
        content_tag :a, :href => "#{l}_path" do
          l
        end
      end
    end
  end
end

但是当我运行页面时,它输出的所有内容都是作为数组的页面。

[<li><a href="index_path">index</a></li> <li><a href="about_path">about</a></li> <li><a href="contact_path">contact</a></li> <li><a href="promotions_path">promotions</a></li>]

而不是显示链接列表。有什么特别的事情要做吗?

==编辑==

我这样称呼我的建造者:

<%= nav_builder site_pages %>
4

1 回答 1

3

帮助程序应该返回一个 HTML 字符串,而不是一个数组。尝试将 Array 元素加入单个字符串:

def nav_builder list     
  list.map do |l|
    content_tag :li do
      content_tag :a, :href => "#" do
        "test"
      end
    end
  end.join("\n").html_safe
end
于 2012-01-27T11:08:29.857 回答