У меня есть show
действие в модели Exhibitor
. Я хочу отобразить список Meetings
, для которого Exhibitor
является Sponsor
.Ruby on Rails NoMethodError по вызову object.each
Exhibitor
модель:
class Exhibitor < ActiveRecord::Base
attr_accessible :description, :name, :exhibitor_category, :sponsor, :exhibitor_category_id
validates :name, :presence => true
validates :description, :presence => true
validates :exhibitor_category, :presence => true
belongs_to :exhibitor_category
belongs_to :sponsor
end
show
действие:
def show
@exhibitor = Exhibitor.find(params[:id])
@sponsoredmeetings = @exhibitor.sponsor
respond_to do |format|
format.html # show.html.erb
format.json { render json: @exhibitor }
end
end
show
вид:
<p>
<b>Meetings:</b>
<% @sponsoredmeetings.each do |c| %>
<%= c.meetings %>
<% end %>
</p>
Когда я запускаю страницу я получаю это:
NoMethodError в участников # показать
неопределенный метод `каждый» для # Rails.root: C: /RailsInstaller/Ruby1.9.3/eventmanager
Применение трассировки | Рамочная трасса | Полная Трассировка приложение/контроллеры/exhibitors_controller.rb: 17: в `шоу» Request
Параметры:
{ "ID" => "1"} Показать сессии дампа
Что же я делать неправильно на странице контроллера, чтобы получить эту ошибку?
Как выглядит ваша модель экспонента? – 2013-02-11 00:28:52
Вы можете добавить свою модель экспонента в свой вопрос? – jvnill
У вас нет встреч внутри вашей модели. Является ли атрибут 'meeting' частью вашей таблицы экспонентов? – 2013-02-11 00:40:52