Iterate и Stringify_keys - PullRequest
       2

Iterate и Stringify_keys

0 голосов
/ 13 марта 2012

Хорошо, я был очень рад перебрать таблицу предметов, когда вдруг 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 %>

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

Проверьте подпись метода для link_to .

Вы передаете ему изображение, некоторый текст и путь.Это неверно.Причина, по которой вы получаете эту ошибку, заключается в том, что link_to считает, что последний аргумент - это хэш опций, а на самом деле это строка (путь).Вам необходимо удалить image_tag, item.name или просто предоставить блок для включения их обоих:

<%= link_to item_path(item) do %>
  <%= image_tag(item.foto.url) %> <%= item.name %>
<% end %>
1 голос
/ 13 марта 2012

Вы неправильно используете метод link_to.Это должно быть что-то вроде этого (если вы хотите, чтобы изображение было «кликабельным изображением»)

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...