2

我在我的 rails 应用程序中使用设计,我想知道是否可以使用注册表单制作技巧:

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

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

我没有找到任何关于这个主题的文章(或者我错了)

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

感谢帮助

4

1 回答 1

4

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

不过,您必须深入了解守望者才能正确执行此操作。

检查这个关于如何覆盖设计控制器的答案

于 2013-10-17T14:35:05.087 回答