我有一个默认范围的模型:
default_scope -> { where(is_active: true) }
是否可以在"管理"中取消模型的作用域,以便"我可以在管理面板中查看所有记录"?
你可以做:
User.unscope(where: :is_active)
但是,如果您不打算在任何地方使用它,那么最好不要使用默认范围。
链接
可以使用
unscope 方法取消 where
子句的作用域。下面介绍如何创建一个覆盖 default_scope 中的 where 子句的新作用域。
scope :including_inactive, ->{ unscope(where: :is_active) }