class List < AR::Base
has_many :items
end
class Item < AR::Base
belongs_to :list
att_accessible :tag
end
メソッドに渡されたすべてのタグを含むリストのみを返すメソッドが必要です。
すなわちfiltered_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