0

現在、いくつかの機能が動作していますが、それは本当に醜いものであり、それを行うためのより良い方法があることを知っています.

User モデルに現在あるものは次のとおりです。

def attending
dayseventsusers=self.days_events_users
daysevents=Array.new
events=Array.new

dayseventsusers.each do |deu| 
  daysevents<<DaysEvent.find(deu['days_events_id'])
end

daysevents.each do |de|
  events<<Event.find(de['event_id'])
end

return events
end

dayseventsusers レコードの特定のグループのイベントのリストを取得しようとしていますが、これを達成するにはいくつかの関係を移動する必要があります。私が本当にやりたいのは、self.days_events_users.days_event.event のようなものですが、私の関係が正しく設定されていると仮定すると、これほど単純になるかどうかはわかりません。

User model
has_many :days_events_users

DaysEventsUsers model
belongs_to :user
belongs_to :days_event

DaysEvent
has_many :days_events_users
belongs_to :event

days_events_users オブジェクトは、単一のイベントに属する単一の days_event に属します。どんな提案も大歓迎です!

4

1 に答える 1

1

これをテストせずに、次の作業を行います。

dayseventusers.collect(&:daysevent).collect(&:event)
于 2012-05-13T22:43:56.390 に答える