0

现在我有一些功能在工作,但它真的很难看,我知道有更好的方法来做到这一点。

这是我现在在我的用户模型中拥有的内容:

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 回答