如何获得ids =>的倒数Rails中的ID集合

时间:2013-09-06 01:02:34

标签: ruby-on-rails

我试图返回此声明的反转:

scope :subscribed, lambda {|user| where(:venue_id => user.flagged_venues)}

flagged_venues返回一个id数组,所以当我运行该语句时,我会得到所有标记的场所。我真正想要的恰恰相反:除了被标记的场地之外的所有场地。

我尝试使用!=代替=>但是返回了所有场地。

当它变为where("venue_id <> ?", user.flagged_venues)时,我收到此错误: PG :: DatatypeMismatch:ERROR:WHERE的参数必须是boolean类型,而不是类型记录LINE 1:SELECT&#34 ;事件&#34;。* FROM&#34;事件&#34; WHERE(venue_id&lt;&gt; 2,4)

1 个答案:

答案 0 :(得分:0)

你想要flagged_venues列表中没有的ID,所以我猜你应该替换

where(:venue_id => user.flagged_venues)

通过

where("venue_id not in (?)", user.flagged_venues)