show_for gem выдает ошибку to_key

#ruby-on-rails-3

#ruby-on-rails-3

Вопрос:

привет, я использую show_for gem, и это выдает мне ошибку типа: неопределенный метод `to_key’ для # в app / views / messages /index.html.erb, где поднята строка # 46:

мой взгляд выглядит следующим образом:

 46:   <%= show_for @messages do |s|  %>
47:     <%= s.attribute :subject  %>
48:     <%= s.attribute :message %>
49:   <% end %>
  

мой код контроллера выглядит следующим образом:

 @messages= Message.all
  

пожалуйста, помогите мне, что я делаю не так. заранее спасибо

Ответ №1:

Я не знаю этот gem, но согласно его документации, show_for должен получать не коллекцию в качестве аргумента (@messages), а отдельный объект. Возможно, я ошибаюсь.

Исходя из этого предположения, я бы :

 <% @messages.each do |message| %>
  <%= show_for message do |s|  %>
    <%= s.attribute :subject  %>
    <%= s.attribute :message %>
  <% end %>
<% end %>