次のようなコントローラーがあります。
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
次のように、ビューのインスタンス変数で定義されたイベントにリンクされた event_items にアクセスしようとしています。
<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
しかし、これは私のディスプレイに何も返しません。
db テーブルevent_comment
に保存されている属性にアクセスする方法について何か提案はありますか? event_items
どんな助けでも大歓迎です!