2012-10-23 32 views
0

我有这两个相关的ActiveRecord模型:左外与范围捧场的ActiveRecord

class Channel < ActiveRecord::Base 
    has_many :events 
end 

class Event < ActiveRecord::Base 
    belongs_to :channel 

    def self.current 
    now = Time.now.utc 
    where{(starts_at<=now)&(ends_at>=now)} 
    end 
end 

我想要得到的Channel秒的清单,结合时事。对于个人Channel对象,我管理由下面的代码来做到这一点:

> channel = Channel.first 
> channel.events.current 

它完美的作品。然而,我发现没有办法获得Channel与他们的当前事件的集合,没有触及N + 1查询问题。

回答

0

尝试

channels = Channel.include(:events).all 
    channels.events.current