我想在登录用户重定向到创建新表(网站)的页面后,所以我的 ApplicationController 中有功能:
def after_sign_in_path_for(resource)
new_website_path
end
注册后我希望用户重定向到他的编辑页面:
def after_sign_up_path_for(resource)
edit_user_registration_path
end
所以问题是 - 为什么它不起作用?
我想在登录用户重定向到创建新表(网站)的页面后,所以我的 ApplicationController 中有功能:
def after_sign_in_path_for(resource)
new_website_path
end
注册后我希望用户重定向到他的编辑页面:
def after_sign_up_path_for(resource)
edit_user_registration_path
end
所以问题是 - 为什么它不起作用?
这是因为after_sign_up_path_for(resource)
您可以在控制器中看到 Devise 注册控制器的受保护方法。注册后获得自定义重定向的唯一方法是自行覆盖设计注册控制器。在Devise Wiki上有关于这样做的说明。
所以我改变了这样的访问级别:
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
edit_user_registration_path
end
protected
def after_sign_in_path_for(resource)
new_website_path
end
end
在此之前,它适用于 after_sign_in 和 after_sign_out,现在它根本不起作用。为什么 ?