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

时间:2011-10-28 16:32:16

标签: ruby-on-rails ruby twitter rubygems

twitter_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

我的gemfile包含

gem 'twitter'

我已经完成了

bundle install

但每次打电话

tweets = get_tweets

从我的观点来看,我得到了异常(未初始化的常量Twitter :: Client)。我错过了什么?

2 个答案:

答案 0 :(得分:1)

在模块内部进行导入,将它们放在外面看看

是很不寻常的
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

答案 1 :(得分:1)

我讨厌回答我自己的问题,但现在就去了。

检查版本号。在twitter gem< 1.0和> = 1.0之间进行了重大改变。你应该指定

gem 'twitter', '>= 1.0'

然后

bundle install

并解决任何依赖冲突(如果你得到任何冲突)。