我有 2 个 Rails 4.0 模型:
class Article
has_many :comments
end
class Comment
belongs_to :article
scope :created_desc, :order => "created_at DESC"
end
我正在寻找的行为是能够按创建的范围对文章的评论进行排序。
然而这段代码
article = Article.find(1)
article.comments.created_desc
触发要运行的新 SQL 查询:
SELECT "comments".* FROM "comments" ORDER BY created_at DESC
我希望,考虑到代码在文章评论的范围内运行,只能获得属于该文章的评论,但是,我会得到所有评论。
我发现这很反直觉。任何人都可以提出正确的方法吗?有些事情告诉我,在按文章 ID 过滤的评论上添加另一个范围是一种会被嘲笑的方法。那么正确的方法是什么?
期待的感谢