0

好吧,我很高兴迭代项目表时突然邦!迭代和Stringify_keys

NoMethodError in Items#index 

undefined method `stringify_keys' for "/items/7":String 

为什么这样?

项目控制器

def index 
    @item = current_user.bar.items.all 
end 

项目指标查看

<% current_user.bar.items.each do |item|%> 
    <tr> 
     <td><%= link_to(image_tag(item.foto.url.to_s), item.name, item_path(item.id)) %></td> 
    </tr > 
<% end %> 

回答

3

查看link_to的方法签名。

你正在给它一张图片,一些文字和一条路径。这是错误的。你得到这个错误的原因是因为link_to认为最后一个参数是一个选项散列,实际上,它是一个字符串(路径)。您需要删除的image_tagitem.name,或者干脆提供一个块,包括他们两个:

<%= link_to item_path(item) do %> 
    <%= image_tag(item.foto.url) %> <%= item.name %> 
<% end %> 
+0

yee! humm有趣,而且事实上有道理!感谢帮助的人! – dcalixto 2012-03-13 11:44:21

1

您使用的link_to方法是不正确的。它应该是这样的(如果你想要图像是'可点击图像')

<%= link_to image_tag(item.foto.url.to_s), item_path(item.id)) %> 

希望它有帮助。

+0

是啊,我计上心来,感谢的人! – dcalixto 2012-03-13 11:45:33