0

我有一个具有默认范围的模型:

default_scope -> { where(is_active: true) }

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

4

2 回答 2

0

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

scope :including_inactive, ->{ unscope(where: :is_active) }
于 2017-01-13T19:54:54.593 回答
0

你可以这样做:

User.unscope(where: :is_active)

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

关联

于 2017-01-13T19:56:25.620 回答