我正在使用设计进行身份验证,在注册后设计自动登录, 我需要注册但不能登录。 有类似的问题link,但它没有帮助我
答案 0 :(得分:6)
免责声明:我的惯例中未验证以下代码。理论上他们可能会有效。
首先,您需要使用自定义RegistrationsController。您可以在Devise wiki中查看如何执行此操作。
设置完成后,事情相当容易。在自定义控制器中执行以下操作
class Users::RegistrationsController < Devise::RegistrationsController
def create
super #Nothing special here.
end
protected
def sign_up(resource_name, resource)
true
end
end
它是如何工作的?在Devise的代码中,#create
将在成功保存后调用受保护的方法#sign_up
。此方法除了登录用户外什么都不做。我们需要做的是覆盖此方法以停止该操作。当然,如果有必要,你甚至可以在这里添加更多的逻辑。