我希望网站导航菜单由应用程序助手中的哈希填充。我看起来很正确;但是路径助手没有被评估(意味着我的链接标签是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} “原始的” 其他一些事情。
任何方向都将受到高度赞赏。
谢谢!
答案 0 :(得分:1)
<% $navPages.each do |ntext,npath| %>
<li><%= link_to ntext, self.send(npath.to_sym)%></li>
<% end %>