Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个具有默认范围的模型:
default_scope -> { where(is_active: true) }
我可以在管理中取消模型的范围,以便我可以在管理面板中查看所有记录吗?
您可以使用unscopewhere方法取消子句的范围。以下是您如何创建一个覆盖 default_scope 中 where 子句的新范围。
where
scope :including_inactive, ->{ unscope(where: :is_active) }
你可以这样做:
User.unscope(where: :is_active)
但如果您不打算在任何地方使用它,最好不要有默认范围。
关联