我的服务器突然出现以下错误: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'
突然发生问题?有没有人知道这个请帮忙吗?
答案 0 :(得分:3)
如果在数据库可用之前启动Web服务器(在我的情况下是Thin),我会收到此错误(在我的情况下,MySQL没有运行)。
我在我的浏览器中加载应用程序并且它抱怨MySQL没有运行,所以我启动MySQL,返回到现在正确加载的应用程序,但不会让我登录(我得到OP描述的错误)。
如果我现在去重新启动Web服务器,然后再试一次,我可以毫无错误地登录。
据推测,valid_password?
是一种在引导时添加到模型中的方法,它依赖于可用的数据库。