我有一個Post模型has_many:authors和has_many:標籤通過:tag_posts,作者模型has_many:posts和has_many:標籤通過:posts,和標籤模型has_many:通過:tag_posts發佈。Rails 4.2中has_many的條件?
帖子必須通過審覈(存儲爲枚舉Post.status)才能在網站上可見。版主可以通過查找具有不同Post.status的帖子來查看未經審閱的帖子,但常規用戶永遠無法看到它們。
有沒有什麼辦法可以過濾所有這些關聯,以確保他們只返回主持人已批准的帖子?
例如:如果我現在調用Author#標籤,它會返回作者寫過的所有帖子上的所有標籤,但我只希望它返回作者寫過的批准的帖子上的標籤。說作者有兩篇文章,第一篇被批准並被標記爲「章魚」,第二篇尚未被批准並被標記爲「魷魚」:對該作者調用#標籤應僅返回章魚標籤,而不是魷魚標籤。
對,我應該更清楚 - 多位作者可以貢獻一篇文章。 posts-authors和posts-tags連接表現在都是明確的,以便稍後添加標籤排序,明顯的作者信用等。獲取ActiveRecord :: Collection將是理想的,因爲作者的視圖頁面應該鏈接到標籤;這可以通過自定義SQL完成,但我希望有一個更簡單的解決方案。 – anon