范围定义的查询不起作用,但独立查询可以
Scope defined query doesn't work but standalone query is ok
class Post < ApplicationRecord
scope :my_scope, -> { where(user_id: 2) }
end
为什么 category.posts.my_scope
return 所有帖子?
以下两个语句正确 returns 只发帖 user_id 2:
category.posts.where(user_id: 2)
Post.my_scope
我不能在链式对象上使用作用域吗?
从这里看起来不错。
Why does category.posts.my_scope return all posts?
在您的示例中,此特定类别的 所有 帖子是否可能属于具有 id: 2
的用户?
一个简单的判断方法是这样做:category.posts.my_scope.to_sql
看看它是否按照您预期的方式工作。您可以将其与 Post.my_scope.to_sql
进行比较
class Post < ApplicationRecord
scope :my_scope, -> { where(user_id: 2) }
end
为什么 category.posts.my_scope
return 所有帖子?
以下两个语句正确 returns 只发帖 user_id 2:
category.posts.where(user_id: 2)
Post.my_scope
我不能在链式对象上使用作用域吗?
从这里看起来不错。
Why does category.posts.my_scope return all posts?
在您的示例中,此特定类别的 所有 帖子是否可能属于具有 id: 2
的用户?
一个简单的判断方法是这样做:category.posts.my_scope.to_sql
看看它是否按照您预期的方式工作。您可以将其与 Post.my_scope.to_sql