1

我正在使用设计进行身份验证,注册后设计自动登录,我只需要注册但不登录。有类似的问题链接,但它没有帮助我

4

1 回答 1

7

免责声明:以下代码在我的实践中未经验证。理论上,它们可能会起作用。

首先,您需要使用您的自定义 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这个方法除了登录用户什么都不做。我们需要做的是覆盖这个方法来停止那个动作。当然,如果需要,您甚至可以在此处添加更多逻辑。

于 2013-08-31T06:58:49.813 回答