2014-06-13 66 views
0

給定一個URL和文本列表,我想打印出每個對象的鏈接。循環遍歷對象數組並打印html

設置正確嗎?我遇到了一些奇怪的錯誤(例如,打印第二個元素3次)。

<% 

nav_links = [{ 
text: "hello", 
href: "/hello.html" 
}, 
{ 
text: "bye", 
href: "/bye.html" 
}, 
{ 
text: "whatever", 
href: "/whatever.html" 
}] 

%> 

打印導航鏈接。

<% nav_links.each do |nav_link| %> 
    <%= link_to nav_link['text'], nav_link['href'] %> 
<% end %> 
+0

您的意思是'nav_links.each do'文本? –

+0

是的 - 更正 –

+0

你能告訴我們你得到什麼錯誤嗎? –

回答

0

您的鑰匙是符號,而不是字符串。它應該是nav_link[:text]nav_link[:href]

+0

感謝kdeisz,我現在試着這樣做:'<%= nav_link [:text]%>'但是得到一個錯誤'no將符號隱式轉換爲整數「。有任何想法嗎? –

0

你的問題是,nav_link['text']是不是nav_link[:text]同樣的事情。

如果你想使用你需要說nav_link['text'.to_sym]

'text'是一個字符串 :text是一個符號

+0

謝謝約翰,我現在試着這樣做:'<%= nav_link [:text]%>'但是得到一個錯誤'沒有將符號隱式轉換爲整數「。有任何想法嗎? –

+0

@DonnyP你確定你沒有在做'nav_links [:text]'而不是'nav_link [:text]'? –