Ruby on rails 登录设备后不允许登录

Ruby on rails 登录设备后不允许登录,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我正在使用Deviate进行身份验证,Deviate在注册后自动登录, 我只需要注册,不需要注册。 有一个类似的问题,但对我没有帮助。免责声明:以下代码在我的实践中未经验证。从理论上讲,它们可能会起作用 首先,您需要使用自定义RegistrationController。您可以在Desive wiki中查看如何做到这一点 设置之后,事情就相当简单了。在自定义控制器中执行以下操作 class Users::RegistrationsController < Devise::Registrat

我正在使用Deviate进行身份验证,Deviate在注册后自动登录, 我只需要注册,不需要注册。 有一个类似的问题,但对我没有帮助。免责声明:以下代码在我的实践中未经验证。从理论上讲,它们可能会起作用

首先,您需要使用自定义RegistrationController。您可以在Desive wiki中查看如何做到这一点

设置之后,事情就相当简单了。在自定义控制器中执行以下操作

class Users::RegistrationsController < Devise::RegistrationsController
  def create
    super #Nothing special here.
  end

  protected

  def sign_up(resource_name, resource)
    true
  end
end
它是如何工作的?在Desive的代码中,create将在成功保存后调用受保护的方法sign\u。此方法只对用户进行登录。我们需要做的是覆盖此方法以停止该操作。当然,如果需要,您甚至可以在此处添加更多逻辑。

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

首先,您需要使用自定义RegistrationController。您可以在Desive wiki中查看如何做到这一点

设置之后,事情就相当简单了。在自定义控制器中执行以下操作

class Users::RegistrationsController < Devise::RegistrationsController
  def create
    super #Nothing special here.
  end

  protected

  def sign_up(resource_name, resource)
    true
  end
end

它是如何工作的?在Desive的代码中,create将在成功保存后调用受保护的方法sign\u。此方法只对用户进行登录。我们需要做的是覆盖此方法以停止该操作。当然,如果需要,您甚至可以在这里添加更多的逻辑。

为什么不使用rolify和cancan gem呢。每个注册的人都会得到一个临时角色,然后你可以用这些角色做你想做的事情。为什么不使用rolify和CancanGem呢。每个注册的人都会获得一个临时角色,然后你可以对这些角色执行你想要的操作。如果将其添加到自定义控制器中,自动登录将被禁用?@Dexter,注册后自动登录将被禁用。一个生成控制器的便捷工具:通过将其添加到自定义控制器中,自动登录将被禁用?@Dexter,注册后自动登录将被禁用。生成控制器的便捷工具: