rails app helper hash驾驶菜单列表

时间:2011-09-06 15:04:26

标签: ruby-on-rails ruby hash

我希望网站导航菜单由应用程序助手中的哈希填充。我看起来很正确;但是路径助手没有被评估(意味着我的链接标签是href =“root_path”而不是“/”)。

在我的application_helper中:

    $navPages = { 
    'Home' => "root_path",
    'page2' =>  "page2_path"

    }

在某些布局中,部分erb如下:

    <ul>
    <% $navPages.each do |ntext,npath| %>
    <li><%= link_to ntext, npath %></li>
    <% end %>
</ul>

因此,此设置将使列表看起来正确;但是href没有被评估。第一个列表项链接标记href =“root_path”而不是字符串“/”的评估版本....我尝试了一些事情无济于事。这是对哈希值存储以及如何/何时评估ruby路径助手的基本缺乏理解。我试过了: 1.从散列中删除引号(返回未知变量/方法错误) 2.“#{npath} “原始的” 其他一些事情。

任何方向都将受到高度赞赏。

谢谢!

1 个答案:

答案 0 :(得分:1)

<% $navPages.each do |ntext,npath| %>
  <li><%= link_to ntext, self.send(npath.to_sym)%></li>
<% end %>