我在带有 postgresql 的 Rails 上有一个非常简单的标签模型:
class Tag < ActiveRecord::Base
has_many :taggings
has_many :posts, :through => :taggings,
:source => :tagged, :source_type => 'Post'
end
class Tagging < ActiveRecord::Base
belongs_to :tag
belongs_to :tagged, :polymorphic => true
end
class Post < ActiveRecord::Base
has_many :taggings, :as => :tagged
has_many :tags, :through => :taggings
end
有没有一种简单的方法可以找到所有具有 2 个以上指定标签的帖子?例如,假设有“style”、“men”、“women”、“sale”标签。我想创建一个接受标签数组的通用 find 语句。因此,如果输入是 ["style"] 那么它应该返回所有带有该标签的帖子(简单)或者如果输入是 ["style", "men"] 那么它应该返回所有带有标签 "style" AND "的帖子男人”。