Ruby on rails Rspec无法为有效的\u密码进行设计模型自定义验证?

Ruby on rails Rspec无法为有效的\u密码进行设计模型自定义验证?,ruby-on-rails,rspec,rspec2,rspec-rails,rspec3,Ruby On Rails,Rspec,Rspec2,Rspec Rails,Rspec3,我正在使用Desive gem(身份验证)。我正在为重置密码实施自定义验证。用户无法使用现有密码重置新密码。 在用户中型号代码为: class用户

我正在使用Desive gem(身份验证)。我正在为重置密码实施自定义验证。用户无法使用现有密码重置新密码。 在用户中型号代码为:

class用户
运行rspec后,我收到错误:失败/错误:没有电子邮件用户。应该无效吗 命名错误: nil:NilClass的未定义方法'valid_password'。user_spec.rb文件中所有预先存在的测试用例都将失败。有什么建议吗

大宗报价


电子邮件
不存在,或者您提供的
电子邮件
没有任何用户与其关联。这就是为什么你要指出错误。正如在规范中一样,您正在检查
无电子邮件用户。不应有效
表示没有电子邮件的用户不应有效。您添加的验证只需在更新时运行,而不需要在创建时运行。因此,将其设置为:

validate  :check_existed_password, :on => :update
因为用户将在更新操作时重置密码,而不是在创建时重置密码。 当前,它将尝试查找尚未创建的用户,并每次抛出错误


希望这有帮助。

您使用的是哪种Rails版本?