我希望用户无需创建帐户即可与我的网站进行互动,然后创建帐户(供应密码,名称信息等等),如果他们需要更多帐户。
这很好但是如果用户认为他们创建了一个帐户然后尝试登录(可能使用他们一直使用的密码)设计将通过例外:
BCrypt::Errors::InvalidHash in Devise/sessionsController#create
因为密码是零。如果他们通过注册然后再次登录,那就可以了。
我正在使用设计(1.2.0),Rails(3.0.4)和Ruby 1.9.2
我的意思是我可以通过创建一个虚拟密码来解决它,并有一个字段来说明用户是否已注册(或检查是否已提供其他必填字段)然后在实际注册时重置密码但我认为所有情况都不应该通过上述例外。
我能做什么/设置解决这个问题?
答案 0 :(得分:0)
最简单的方法可能就是生成一个随机的方法,使用类似Devise.friendly_token[0..20]
之类的东西,但你也可以覆盖用于登录的Devise控制器和方法,挽救异常,然后重定向。