2011-09-06 63 views
0

我希望網站導航菜單由應用程序助手中的散列填充。我看起來很正確;但路徑幫助程序沒有被評估(意思是我的鏈接標記的href =「root_path」而不是「/」)。rails應用程序幫助散列驅動菜單列表

在我application_helper:

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

    } 

,並在一些佈局部分再培訓局如下:

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

所以這個設置將得到清單太看的權利;但href的沒有被評估。第一個列表項鍊接標記href =「root_path」而不是字符串「/」的評估版本....我嘗試了幾件事情無濟於事。這是一些基本的缺乏理解散列值存儲以及如何/何時評估ruby路徑助手。我已經試過: 1.從哈希去除引號(返回未知變量/方法錯誤) 2.「#{NPATH} 3.‘原始’ 其他一些東西

任何方向將。不勝感激。

謝謝!

回答

1
<% $navPages.each do |ntext,npath| %> 
    <li><%= link_to ntext, self.send(npath.to_sym)%></li> 
<% end %> 
感謝。
+0

完美!這似乎是字符串轉換成將被評估的象徵。謝謝你! – twinturbotom

+0

歡迎你:)不要忘記接受的答案如果它解決了你的問題;) –