无法在 Rails 中覆盖 Devise::RegistrationsController ?



我正在尝试在用户登录和注册后设置默认行为。

我尝试用以下代码创建registration_controller.rb

class RegistrationsController < Devise::RegistrationsController
protected

def after_sign_up_path_for(resource)
"/projects"
end
def after_sign_in_path_for(resource)
raise
"/projects"
end
end

这甚至没有让我进入提升

作为一种变通方法,我设法在application_controller.rb中创建了一个方法,如下所示:

def after_sign_in_path_for(resource)
"/projects"
end

但我想知道为什么我没有覆盖默认的RegistrationsController类。

根据Devise文档,您可以通过运行rails generate devise:controllers [scope]来自定义其配置,例如用users替换scope。

然后它生成这样的文件:

class Users::RegistrationsController < Devise::RegistrationsController
# GET /resource/sign_in
# def new
#   super
# end
...
end

您可以取消对所需方法的注释,并在super之后编写代码。

相关内容

  • 没有找到相关文章

最新更新