2011-11-27 58 views
3

有沒有人遇到過這個錯誤?Ruby on Rails,LinkedIn:模塊錯誤

NoMethodError (undefined method `new' for LinkedIn:Module) 

我認爲這與omniauth和linkedin有關。這裏是我的Gemfile:

gem 'omniauth' 
gem 'linkedin', :git => "git://github.com/redbeard-tech/linkedin.git", :branch => 'jsapi' 

我使用:

  • 紅寶石1.8.7(2010-01-10 PATCHLEVEL 249)
  • 軌3.0.5

什麼可能成爲它的原因?

回答

0

從錯誤消息,它看起來像你打電話LinkedIn.new(...),但看着documentation它看起來應該是LinkedIn::Client.new('your_consumer_key', 'your_consumer_secret')LinkedIn是一個模塊,而不是一個類,因此沒有new方法。但是,這個模塊中定義的類似於Client,您必須實例化該類。

2

檢查您正在使用的omniauth版本。最近我們遇到了這個問題,它來自我們的開發環境,其中包含omniauth 0.3.x,並且新環境獲得了新的1.0版本。在omniauth github site它說:

OmniAuth 1.0有幾個突破從版本0.x的變化。如果您不想進行更加困難的升級,您可以將相關性設置爲〜> 0.3.2。請參閱wiki獲取更多信息。

我懷疑你被咬了。