我正在使用acts_as_network gem,它允许我通过'User.friends'获取用户的所有朋友
我想创建一个'朋友Feed',通过搜索事件记录来显示所有朋友的所有近期事件:
Event | giver_id | receiver_id | date |
从概念上来说我希望能够做到这一点:
feed = Events.giver_id_or_receiver_id_in(User.friends).date_gt(Date.today.2.weeks.ago)
这应该给我一个所有事件的数组,其中giver_id或receiver_id是在过去两周内创建的朋友数组(User.friends)。
我该怎么做?
答案 0 :(得分:0)
IN查询可以使用:where(:giver_id => array)
所以我认为你可以这样做:
scope :party_in, lambda {|friends| where(:giver_id => friends) | where(:receiver_id => friend) }
然后,您可以使用查询的其余部分链接范围:
feed = Events.party_in(User.friends).date_gt(Date.today.2.weeks.ago)