登录与Authlogic抛出错误我似乎无法调试。有线索吗?

时间:2011-07-10 07:49:19

标签: ruby-on-rails authlogic

Processing UserSessionsController#create (for 127.0.0.1 at 2011-07-10 01:45:03) [POST]
  Parameters: {"commit"=>"Submit", "user_session"=>{"username"=>"iamtoc", "password"=>"[FILTERED]"}, "action"=>"create", "authenticity_token"=>"t8W0rb/n2ew5hRZDCAy6FagbzgZPNXhWU5dwdOS9PnU=", "controller"=>"user_sessions"}
  [4;36;1mUser Columns (3.0ms)[0m   [0;1mSHOW FIELDS FROM `users`[0m
  [4;35;1mSQL (3.0ms)[0m   [0mSHOW TABLES[0m

NoMethodError (undefined method `where' for #<Class:0x5e42c98>):
  authlogic (3.0.3) lib/authlogic/acts_as_authentic/login.rb:122:in `find_with_case'
  authlogic (3.0.3) lib/authlogic/acts_as_authentic/login.rb:110:in `find_by_smart_case_login_field'
  authlogic (3.0.3) lib/authlogic/session/scopes.rb:95:in `send'
  authlogic (3.0.3) lib/authlogic/session/scopes.rb:95:in `search_for_record'
  authlogic (3.0.3) lib/authlogic/session/scopes.rb:94:in `send'
  authlogic (3.0.3) lib/authlogic/session/scopes.rb:94:in `search_for_record'
  authlogic (3.0.3) lib/authlogic/session/password.rb:183:in `validate_by_password'
  authlogic (3.0.3) lib/authlogic/session/callbacks.rb:83:in `validate'
  authlogic (3.0.3) lib/authlogic/session/validation.rb:64:in `valid?'
  app/controllers/user_sessions_controller.rb:9:in `create'
  C:/Ruby187/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  C:/Ruby187/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:162:in `start'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:95:in `start'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:92:in `each'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:92:in `start'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:23:in `start'
  C:/Ruby187/lib/ruby/1.8/webrick/server.rb:82:in `start'
  /script\server:3
  C:/Ruby187/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.16/lib/ruby-debug-ide.rb:112:in `debug_load'
  C:/Ruby187/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.16/lib/ruby-debug-ide.rb:112:in `debug_program'
  C:/Ruby187/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.16/bin/rdebug-ide:87
  C:/Ruby187/bin/rdebug-ide:19:in `load'
  C:/Ruby187/bin/rdebug-ide:19

  [4;36;1mSQL (2.0ms)[0m   [0;1mSHOW TABLES[0m
Rendered rescues/_trace (51.0ms)
Rendered rescues/_request_and_response (1.0ms)
Rendering rescues/layout (internal_server_error)

1 个答案:

答案 0 :(得分:1)

很难从这个日志中回答这个问题。您似乎使用了比需要的更新(?)版本的Authlogic。 (缺少函数调用)

您还有更多版本信息吗?

需要Rails / activerecord版本

Authlogic 3.0.3 depends on activerecord >= 3.0.7

如果你需要这样的老版本,你可以安装旧的修复版Authlogic:

gem install -v <version>

然后,如果您使用rails,则可以指定要使用的正确版本。 (在2.X的情况下在environment.rb中)如果您使用Authlogic 3.0.3我建议您使用Rails 3。