2010-12-14 22 views
0

これはMigrating from Authlogic to Devise と呼ばれ、それに続いてdeviseが必要とするデータベース構造を取得します。 は、しかし、私は私のsign_inページAuthlogicからDeviseに移行するときに問題が発生する

wrong number of arguments (2 for 1) 

にこのエラーが出るこれは私のリクエストである:私はRailsの2.3.8を使用して、したがってV 1.0を使用してい考案

{"commit"=>"Sign in","authenticity_token"=>"oWXrE+EdhO4ScuaBzPBqCnpYsal1QcDC483ygVSs0fw=","user"=>{"password"=>"password", "email"=>"[email protected]"}} 

。この作業を取得するために

<% form_for resource_name, resource, :url => session_path(resource_name) do |f| -%> 
    <p><%= f.label :email %></p> 
    <p><%= f.text_field :email %></p> 
    <p><%= f.label :password %></p> 
    <p><%= f.password_field :password %></p> 

    <p><%= f.submit "Sign in" %></p> 
<% end -%> 

任意のアイデア:

これは私のセッション/新しいビューのですか?ありがとう!

EDIT

は、ここでスタックトレースです:ウォーデンの依存関係をどうする

ArgumentError (wrong number of arguments (2 for 1)): 
devise (1.0.8) lib/devise/models/database_authenticatable.rb:139:in `find_for_authentication' 
devise (1.0.8) lib/devise/models/database_authenticatable.rb:117:in `authenticate' 
devise (1.0.8) lib/devise/strategies/database_authenticatable.rb:16:in `authenticate!' 
warden (1.0.3) lib/warden/strategies/base.rb:53:in `_run!' 
warden (1.0.3) lib/warden/proxy.rb:303:in `_run_strategies_for' 
warden (1.0.3) lib/warden/proxy.rb:298:in `each' 
warden (1.0.3) lib/warden/proxy.rb:298:in `_run_strategies_for' 
warden (1.0.3) lib/warden/proxy.rb:271:in `_perform_authentication' 
warden (1.0.3) lib/warden/proxy.rb:90:in `authenticate' 
devise (1.0.8) lib/devise/controllers/helpers.rb:36:in `authenticate' 
devise (1.0.8) app/controllers/sessions_controller.rb:19:in `create' 
warden (1.0.3) lib/warden/manager.rb:35:in `call' 
warden (1.0.3) lib/warden/manager.rb:34:in `catch' 
warden (1.0.3) lib/warden/manager.rb:34:in `call' 

何か?

+0

、すべてがそこに私には正常に見えます。エラーは、エラーが発生した場所に関する "Application Trace"の詳細を表示しますか? – aNoble

答えて

0

User.findコールでエラーが発生している可能性があります。これは異常です。デフォルトのfindメソッドをオーバーライドする可能性のあるものはありますか?

これをコンソールで試して、エラーが発生していないかどうかを確認してください。

User.find(:first, :conditions=>{:email=>'[email protected]'}) 
1

私は、コンソールでUser.findを試してみましたが、OKだった監視員0.10.7を使用して、同じ問題を抱えていたし、1.0.8 を考案。それを修正する

が、私は私のユーザーモデルにクラスメソッドauthenticateを削除:エラーがあなたのセッション/新しいビューにあるとは思えない

#def self.authenticate(login, pass) 
# find(:first, :conditions => ["login = ? AND password = ?", login, sha1(pass)]) 
#end 
関連する問題