Twitter GEM for API无法在网站上工作,但在控制台中

时间:2014-03-06 23:42:53

标签: ruby-on-rails ruby twitter

我正在使用sferik令人惊叹的Twitter宝石:https://github.com/sferik/twitter

这是我正在使用的代码:

twitter_api = Twitter::REST::Client.new do |config|
  config.consumer_key        = "123"
  config.consumer_secret     = "123"
  config.access_token        = "123"
  config.access_token_secret = "123"
end

当我启动终端时,twitter_api我得到:

NameError: undefined local variable or method `twitter_api' for main:Object

但是当我手动输入代码时:

1.9.3-p448 :002 > twitter_api = Twitter::REST::Client.new do |config|
1.9.3-p448 :003 >   config.consumer_key        = "123"
1.9.3-p448 :004?>   config.consumer_secret     = "123"
1.9.3-p448 :005?>   config.access_token        = "123"
1.9.3-p448 :006?>   config.access_token_secret = "123"
1.9.3-p448 :007?> end

当我做一个简单的获取请求时,twitter_api给了我一个值:

1.9.3-p448 :009 > twitter_api.user("BenMorganIO")
 => #<Twitter::User id=2224124594>

所以我知道身份验证是好的,我似乎无法让它在网站上运行。

我已将配置代码放在config/initializers/twitter.rb

有谁知道为什么?

1 个答案:

答案 0 :(得分:1)

twitter_api变量被声明为本地变量,因此您无法从此类外部进行访问。我想你想要的是一个global $twitter_api变量。