我正在博客应用程序上实现标记系统。这个应用程序有帖子,帖子通过标签有很多标签。或多或少像 RailCasts #382 http://railscasts.com/episodes/382-tagging
我将使用复选框来选择具有多个标签的帖子,如下所示:
Post.joins(:tags).where(:tags => { :id => [tag_ids] } )
但是,如果我想加入具有所有必需标签的帖子而不是只满足一个要求的帖子怎么办?
例如:
Post1 有标签“foo、bar、baz”
Post2 有标签 "bar, baz"
Post3 有标签“酒吧”
如果我搜索 ["bar", "baz"],我的方法会返回帖子 1、2 和 3。如果我只想返回帖子 1 和 2,该怎么办?