2011-11-27 42 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获取更多信息。

我怀疑你被咬了。