2011-08-25 62 views
0

當我在處理具有延遲作業並且同步運行時完美工作的作業時,我遇到utils.rb:333中的錯誤。基本上我在做的是在我的代碼中獲取請求,當我這樣做時,我遇到了錯誤。這是代碼,點擊錯誤的行:在發出http請求時延遲作業錯誤

self.fb_friends = (JSON.parse self.fb_token.get('me/friends')).first[1] unless self.fb_friends 

自我是一個Ruby類和self.fb_token這裏

OAuth2::AccessToken.new client, fb_token_string 

,其中客戶端調用OauthHelper ::客戶端的結果產生和fb_token_string是從Facebook

這裏記號字符串,我的堆棧跟蹤:

{You have a nil object when you didn't expect it! 
You might have expected an instance of Array. 
The error occurred while evaluating nil.delete 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/rack-1.2.3/lib/rack/utils.rb:333:in `delete'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/rack-1.2.3/lib/rack/utils.rb:326:in `[]='\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/utils.rb:28:in `[]='\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/utils.rb:85:in `block in merge_headers'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/utils.rb:84:in `each'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/utils.rb:84:in `merge_headers'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/request.rb:69:in `to_env_hash'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/request.rb:87:in `run'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/request.rb:28:in `run'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/faraday-0.6.1/lib/faraday/connection.rb:170:in `run_request'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/oauth2-0.4.1/lib/oauth2/client.rb:59:in `request'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/oauth2-0.4.1/lib/oauth2/access_token.rb:34:in `request'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/oauth2-0.4.1/lib/oauth2/access_token.rb:38:in `get'\n 
/Users/myuseraccount/Sites/tutorcloud/app/models/facebook_session.rb:69:in `get_fb_likes'\n 
/Users/myuseraccount/Sites/tutorcloud/app/models/facebook_session.rb:305:in `save_to_user_info'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/performable_method.rb:20:in `perform'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/backend/base.rb:87:in `invoke_job'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:120:in `block (2 levels) in run'\n 
/Users/myuseraccount/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/timeout.rb:57:in `timeout'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:120:in `block in run'\n 
/Users/myuseraccount/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:119:in `run'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:177:in `reserve_and_run_one_job'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:104:in `block in work_off'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:103:in `times'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:103:in `work_off'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:78:in `block (2 levels) in start'\n 
/Users/myuseraccount/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:77:in `block in start'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:74:in `loop'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/worker.rb:74:in `start'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/command.rb:104:in `run'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/command.rb:83:in `block in run_process'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/application.rb:249:in `call'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/application.rb:249:in `block in start_proc'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/daemonize.rb:197:in `call'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/daemonize.rb:197:in `call_as_daemon'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/application.rb:253:in `start_proc'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/application.rb:293:in `start'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/controller.rb:70:in `run'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons.rb:195:in `block in run_proc'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/cmdline.rb:109:in `call'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons/cmdline.rb:109:in `catch_exceptions'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.4/lib/daemons.rb:194:in `run_proc'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/command.rb:81:in `run_process'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/command.rb:75:in `block in daemonize'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/command.rb:73:in `times'\n 
/Users/myuseraccount/.rvm/gems/ruby-1.9.2-p0/gems/delayed_job-2.1.4/lib/delayed/command.rb:73:in `daemonize'\n 
script/delayed_job:5:in `<main>' 

回答

0

我遇到了同樣的錯誤

嘗試更新的oauth2到0.5.0 當我更新Omniauth到0.3.0.rc2和OAuth到0.5.0 - 問題已經解決

+0

我嘗試這樣做,得到以下錯誤。當我在我的問題中使用上面的OAuth2令牌實際執行獲取請求時,會發生此錯誤。未初始化的常量OAuth2 :: AccessDenied rake(0.9.2)lib/rake/ext/module.rb:36:'const_missing' app/helpers/oauth_helper.rb:27:in'rescue in try_access_token' app/helpers/oauth_helper.rb:25:在'try_access_token' – user531065