我正在尝试在用户登录和注册后设置默认行为。
我尝试用以下代码创建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
之后编写代码。