class List < AR::Base
has_many :items
end
class Item < AR::Base
belongs_to :list
att_accessible :tag
end
我想要一个只返回列表的方法,其中包含传递给该方法的所有标签。
IEfiltered_lists = List.filter_by_item_tags(['tag1', 'tag2'])
我当前的实现返回一个列表,tag1
或者tag2
我希望它只返回同时包含 tag1
和的列表tag2
到目前为止我所拥有的:
class List < AR::Base
def self.filter_by_item_tags(tags)
items = Item.includes(:lists)
items.find_all_by_tag(tags).map(&:lists).flatten
end
end