2014-06-13 67 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]'? –