在设计中注册后不允许登录

时间:2013-08-31 06:35:32

标签: ruby-on-rails ruby-on-rails-3 devise

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

1 个答案:

答案 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。此方法除了登录用户外什么都不做。我们需要做的是覆盖此方法以停止该操作。当然,如果有必要,你甚至可以在这里添加更多的逻辑。