假设我有一个作用域:
class Post
belongs_to: :user
scope(:visible_for, ->(user = default_user) { where("<some SQL>") })
end
有没有办法在作用域内检查它是否被称为 1. 作用域或 2. 无作用域?
some_user.posts.visible_for
Post.visible_for
我希望自动确定范围的原因包括优化查询WHERE posts.user_id = <user_id>
,并且我希望只有优化的查询是合法的。
我刚刚发现您可以在范围内调用scope_attributes
,问题解决了。