获取未定义方法'valid_password?'的错误与Authlogic

时间:2011-09-14 06:14:14

标签: ruby-on-rails authlogic

我的服务器突然出现以下错误:Authlogic

NoMethodError (undefined method `valid_password?' for #<ProductionHouse:0xb53859cc>):

authlogic (2.1.3) [v] lib/authlogic/session/password.rb:191:in `send'

authlogic (2.1.3) [v] lib/authlogic/session/password.rb:191:in `validate_by_password'

authlogic (2.1.3) [v] lib/authlogic/session/callbacks.rb:72:in `validate'

authlogic (2.1.3) [v] lib/authlogic/session/validation.rb:64:in `valid?'

authlogic (2.1.3) [v] lib/authlogic/session/existence.rb:65:in `save'

app/controllers/user_session_controller.rb:162:in `create'

pdfkit (0.5.1) lib/pdfkit/middleware.rb:16:in `call'

突然发生问题?有没有人知道这个请帮忙吗?

1 个答案:

答案 0 :(得分:3)

如果在数据库可用之前启动Web服务器(在我的情况下是Thin),我会收到此错误(在我的情况下,MySQL没有运行)。

我在我的浏览器中加载应用程序并且它抱怨MySQL没有运行,所以我启动MySQL,返回到现在正确加载的应用程序,但不会让我登录(我得到OP描述的错误)。

如果我现在去重新启动Web服务器,然后再试一次,我可以毫无错误地登录。

据推测,valid_password?是一种在引导时添加到模型中的方法,它依赖于可用的数据库。