我可以在Rails 3中使用searchlogic / metasearch进行“in”搜索吗?

时间:2011-03-26 04:06:28

标签: ruby-on-rails searchlogic

我正在使用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)。

我该怎么做?

1 个答案:

答案 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)