Ruby on rails RoR-未初始化的常量Twitter::Client
twitter\u helper.rbRuby on rails RoR-未初始化的常量Twitter::Client,ruby-on-rails,ruby,twitter,rubygems,Ruby On Rails,Ruby,Twitter,Rubygems,twitter\u helper.rb module TwitterHelper require 'rubygems' require 'twitter' require 'net/http' require 'uri' def get_tweets (twitter_user) begin @tweets = Array.new @twitter = Twitter::Client.new Twitter.us
module TwitterHelper
require 'rubygems'
require 'twitter'
require 'net/http'
require 'uri'
def get_tweets (twitter_user)
begin
@tweets = Array.new
@twitter = Twitter::Client.new
Twitter.user_timeline(twitter_user) do |tweet|
@tweets.push(tweet)
end
@tweets
rescue Exception => e
puts e
_("Errors: #{e.to_s}
")
end
end
end
我的档案包括
gem 'twitter'
我做到了
bundle install
但每次我打电话
tweets = get_tweets
在我看来,我得到了异常(未初始化的常量Twitter::Client)。我遗漏了什么?将导入放在模块内部,放在模块外部,然后查看,这是非常不寻常的
require 'rubygems'
require 'twitter'
require 'net/http'
require 'uri'
module TwitterHelper
def get_tweets (twitter_user)
begin
@tweets = Array.new
@twitter = Twitter::Client.new
Twitter.user_timeline(twitter_user) do |tweet|
@tweets.push(tweet)
end
@tweets
rescue Exception => e
puts e
_("Errors: #{e.to_s}
")
end
end
end
我不喜欢回答我自己的问题,但我要说的是 检查版本号。twitter gem=1.0之间发生了重大变化。您应该指定
gem 'twitter', '>= 1.0'
然后
bundle install
并解决任何依赖项冲突(如果有)。将gem添加到gem文件后,是否重新启动服务器?我之所以问这个问题,是因为当我单独运行您的代码时,不会出现此错误。试试这个(a)rails c(b)include TwitterHelper(c)get_tweets(用户)这个模块在哪里?谢谢大家的帮助。。。显然,bundler安装twitter.9时存在一些依赖冲突,这与>=1.0有很大不同。在修复这些依赖项后,我可以安装twitter>=1.0.:)