我正在使用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
变量。