对不起愚蠢的问题,但设计的范围究竟是什么?我遇到的问题是我想将sign_out方法添加到我的控制器中,我不能这样做,因为默认情况下config.sign_out_all_scopes设置为true,所以将其更改为false会有所帮助,但我不明白这是什么配置实际上。它看起来像是真的它将签署所有:管理员或所有:用户签出一个,但它对我没有意义。 “范围”实际上是用户吗?如果我切换此选项,究竟会发生什么变化? 非常感谢。
答案 0 :(得分:4)
Devise允许您将用户分成不同的“范围”,例如“admin”和“member”,这样做的结果是您获得了每个范围的一组路由,控制器和视图。
用户可以属于多个范围并随时登录任何/所有范围 - 因此,当选项sign_out_all_scopes
为true时,退出任何范围将退出当前登录的所有用户作用域。
关于您的具体问题 - 为什么要定义自己的退出方法? Devise为您提供一个。如果要修改注销方法,请确保按照the instructions正确扩展设计控制器。