check_authorization导致自定义设备控制器失败? 问题问题

问题描述

背景

我有一个带有devise和cancancan的简单应用程序。因为我想add a little bit of custom logic to the signup process,所以我使用了devise with customised controllers,这仅仅意味着devise将users控制器(而不是devise控制器)用于devise所做的所有事情。

问题

当我将check_authorization添加到应用程序控制器,并将skip_authorization_check添加到所有用户(设计)控制器时,当用户尝试登录或注销时,仍然出现以下错误: / p>

enter image description here

问题

有人知道如何skip_authorization_check使用这些控制器吗? (我已经在每个用户(设计)控制器中都拥有skip_authorization_check,我认为这样做可以,所以我不确定该怎么做

解决方法

我在编写此问题的90%的过程中都找到了答案,因此想将其发布,以防将来对其他人有帮助。

答案是,只需按常规方式use the same method for skipping authorization checks on devise(即使使用定制的devise控制器),也就是将其添加到application_controller

check_authorization unless: :devise_controller?

使用此方法时,似乎不必手动向每个设备(或自定义设备)控制器添加skip_authorization_check