用于API的Twitter GEM不在网站上工作,但在控制台中工作



我正在使用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给我一个值,当我做一个简单的 get 请求时,我会:

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

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

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

有谁知道为什么?

twitter_api变量声明为局部变量,因此您无法从此类外部访问。我猜你想要的是一个全局$twitter_api变量。

最新更新