Ruby on rails RoR-未初始化的常量Twitter::Client

Ruby 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

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.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.:)