我正在使用Devise进行用户注册,并使用Confirmable执行电子邮件验证。
用户注册后,我想将它们重定向到一个URL,说明他们需要查看他们的电子邮件并点击发送的链接。我正在使用Devise的:authenticate_user!
方法来确保用户在查看网站内容之前登录。
根据this file,我可以定义after_inactive_sign_up_path_for(resource)
和after_sign_up_path_for(resource)
来控制此重定向。
这是我的应用程序控制器:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :authenticate_user!, :except => [:after_inactive_sign_up_path_for, :after_sign_up_path_for]
def after_sign_up_path_for(user)
confirm_path
end
def after_inactive_sign_up_path_for(user)
confirm_path
end
end
但它不起作用。 confirm_path
位于我的static_pages
控制器中,无需登录即可访问,因为我已skip_before_filter :authenticate_user!
包含
当用户注册时,:authenticate_user!
助手会启动并重定向到登录页面。
答案 0 :(得分:4)
您是否尝试过这样覆盖注册控制器:
class RegistrationsController < Devise::RegistrationsController
protected
def after_inactive_sign_up_path_for(resource)
'/an/example/path'
end
end