2012-01-20 77 views
1

我有多態likes模型,用於存儲生產,評論,任何人都喜歡。有沒有辦法幹掉這個查詢?DRYing在Rails多態關聯查詢

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

這不起作用:

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

回答

3

如何:

類像 ...

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

你會再使用一世像這樣:

user.likes.for(thing)