У меня есть контроллер, который выглядит примерно так:атрибутов доступа, используя has_many отношения
class EventController < ApplicationController
def index
...
@events = Event.where(['eventdate < ?', DateTime.now]).order("eventdate")
...
end
end
И моя модель определяет следующее соотношение:
class Event < ActiveRecord::Base
...
has_many :match_items, dependent: :destroy
...
end
Я сейчас пытаюсь получить доступ к event_items связанному с события, определенные в переменной экземпляра @event
, на мой взгляд, следующие:
<h2>Your Events</h2>
<% @events.each do |event| %>
</br><span>
<%= event.eventdate.to_formatted_s(:rfc822) %>
<%= event.event_items.event_comment %>
</span>
<% end %>
event.event_items.event_comment
линия выдает ошибку: undefined method 'event_comment' for []:ActiveRecord::Relation
Почему я не могу не получить доступ к event_comment
как метод?
Если я просто использую event.event_items
, строка не отображает сообщение об ошибке и отображает весь массив event_items со всем содержимым, отображаемым на моем представлении.
Так я думал, что, может быть, я могу просто получить доступ к event_comment
как часть массива за счет использования:
<%= event.event_items.event_comment[i] %> #where i is the index of event_comment in the array
Но тогда ничего не возвращает в моем дисплее.
Любые предложения о том, как я могу получить доступ к атрибуту event_comment
, хранящемуся в моей таблице event_items
db? Любая помощь очень ценится!
Как определяется event_items? – Fred