【发布时间】:2016-06-11 15:30:47
【问题描述】:
我有一个 Post 模型,它有一个 has_many :authors 和 has_many :tags 到 :tag_posts,一个 Author 模型有一个 has_many :posts 和 has_many :tags 到 :posts,一个 Tag 模型有一个 has_many :posts 到 :tag_posts。
帖子必须通过审核(存储为枚举 Post.status)才能在网站上显示。版主可以通过查找具有不同 Post.status 的帖子来查看未经审核的帖子,但普通用户应该永远无法看到它们。
有什么方法可以过滤所有这些关联以确保它们只返回版主批准的帖子?
例如:如果我现在调用 Author#tags,它将返回作者撰写的所有帖子上的所有标签,但我只希望它返回 已批准 帖子上的标签作者写过。假设作者有两个帖子,第一个已批准并标记为“章鱼”,第二个尚未批准并标记为“鱿鱼”:对该作者调用#tags 应该只返回章鱼标签,而不是鱿鱼标记。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 activerecord