【问题标题】:Iterate and Stringify_keys迭代和 Stringify_keys
【发布时间】:2012-03-13 10:47:57
【问题描述】:

好吧,当突然BANG!

时,我很高兴迭代项目表
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 %>

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems


    【解决方案1】:

    查看link_to 的方法签名。

    你给它一个图像、一些文本和一个路径。那是错误的。您收到该错误的原因是因为link_to 认为最后一个参数是一个选项哈希,而实际上,它是一个字符串(路径)。您需要删除image_tag、item.name,或者简单地提供一个块来包含它们:

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

    【讨论】:

    • 是的!哼哼有趣,其实说得通!谢谢你的帮助!
    【解决方案2】:

    您对 link_to 方法的使用不正确。它应该是这样的(如果您希望图像成为“可点击的图像”)

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

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 2015-05-29
      相关资源
      最近更新 更多