我有三个模型
标签 (Tag)
=>:id
,:name
标签关联(Tagging)
=>:id
,:tag_id
,:post_id
文章(Post)
=>:id
,:summary
我知道标签的 id,我想通过 标签关联(Tagging)
模型查询拥有特定 tag_id
的所有文章。
类似于下面这样:
@post = Post.joins(:taggings).where(:tag_id => 17)
但是这样不起作用,因为它在
Post
模型中查找tag_id
而不是Tagging
模型中查找。我不确定该如何解决这个问题。
has_many :tags, :through => :tagging
吗? - MrYoshiji.where
格式,您可以传递类似.where("taggings.tag_id = ?", 17)
的字符串来限定连接的 taggings 表。 - Tom Harrison