0

我正在使用acts_as_network gem,它允许我通过'User.friends'获取用户的所有朋友

我想通过搜索事件记录来创建一个“朋友源”,显示所有朋友的所有最近事件:

  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) 中。

我怎样才能做到这一点?

4

1 回答 1

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)
于 2011-03-26T04:15:24.410 回答