繁体   English   中英

Rails设计注册或登录(如果已经接收电子邮件)

[英]rails devise registration or login if email is already taken

我在我的Rails应用程序中使用devise,我想知道是否可以通过注册表格来骗人:

如果用户在注册表格中键入其emai,l密码及其确认,并且他的电子邮件已经被使用(因为他忘记了已经注册的信息,请登录他(如果密码正确),而不是向他显示错误消息?

当然,如果密码不同,则照常显示该消息。

我没有找到与此主题相关的任何文章(或者我错了)

听起来可能是太奇怪了吗?

感谢帮助

AFAIK,设计中没有内置功能允许这样做。

但是设计是可定制的。 您可以做的是重写Devise :: RegistrationsController ,并在用户已经存在的情况下使用类似Devise :: SessionsController#create的代码:

class RegistrationsController < Devise::RegistrationsController
  def create
    if <known_user_with_good_password>
      <sign_in>
    else
      super
    end
  end
end

但是,您将不得不深入看守以正确执行。

检查有关如何覆盖设计控制器的答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM