管理和取消默认范围

Administrate and unscoping default scope

我有一个带有默认作用域的模型:

default_scope -> { where(is_active: true) }

我可以取消 Adminstrate 中的模型范围,以便我可以在管理面板中看到所有记录吗?

您可以使用 unscope 方法取消 where 子句的范围。以下是如何创建一个新范围来覆盖 default_scope.

中的 where 子句
scope :including_inactive, ->{ unscope(where: :is_active) }

你可以这样做:

User.unscope(where: :is_active)

但如果您不打算在任何地方都使用默认范围,那么最好不要使用默认范围。

link