在Rails多态关联上干扰查询

时间:2012-01-20 22:17:49

标签: ruby-on-rails activerecord

我有多态likes模型,用于存储制作,评论,以及人们喜欢的内容。有没有办法让这个查询干涸?

user.likes.where(:likeable_id => thing.id, :likeable_type => thing.class)

这不起作用:

user.likes.where(:likeable => thing)

1 个答案:

答案 0 :(得分:3)

这个怎么样:

类喜欢      ...

 # scope
 def self.for(object)
   scoped.where(:likeable_id => object.id, :likeable_type => object.class.to_s)
 end

然后你会像这样使用它:

user.likes.for(thing)