这应该工作:
def self.tagged_with( string ) array = string.split(',').map{ |s| s.lstrip } select('distinct photos.*'). joins(:tags). where('tags.name' => array). group("photos.id"). having("count(*) = #{array.size}")end上方将匹配 至少 带有红色和蓝色标签的照片。因此,这意味着如果一张照片带有红色,蓝色 和 绿色标签,那么该照片也将匹配。



