我希望登录后用户重定向到创建新表(网站)的页面,所以我在ApplicationController中有功能:
def after_sign_in_path_for(resource)
new_website_path
end
注册后我希望用户重定向到他的编辑页面:
def after_sign_up_path_for(resource)
edit_user_registration_path
end
所以问题是 - 为什么它不起作用?
答案 0 :(得分:1)
这是因为after_sign_up_path_for(resource)
是Devise注册控制器的受保护方法,因为您可以看到in the controller。注册后,您可以获得自定义重定向的唯一方法是自行覆盖Devise注册控制器。在Devise Wiki上有关于这样做的说明。
答案 1 :(得分:0)
所以我改变了这样的访问级别:
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工作,现在它根本没有工作。为什么?