用于Ruby on Rails的Twitter Gem无法正常工作.我错过了什么?

soj*_*600 4 ruby twitter ruby-on-rails

我正在尝试将Twitter gem版本5.1.1用于我的应用程序,但我遇到了配置问题.我正在运行rails 4和Ruby 2.0.0.在我的Gemfile中,我列出了"gem'twitter'",并通过捆绑包安装了它.根据文档,我在config/initializers/twitter_credentials.rb中创建了一个初始化文件.该文件看起来像这样(虽然我的密钥和秘密充满了来自twitter的信息):

require 'twitter'

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = "YOUR_CONSUMER_KEY"
  config.consumer_secret     = "YOUR_CONSUMER_SECRET"
  config.access_token        = "YOUR_ACCESS_TOKEN"
  config.access_token_secret = "YOUR_ACCESS_SECRET"
end
Run Code Online (Sandbox Code Playgroud)

当我尝试在rails控制台中使用客户端时,这是我收到的错误消息:

2.0.0p353 :001 > client.update("I'm tweeting with @gem!")
NameError: undefined local variable or method `client' for main:Object
from (irb):1
from /Users/user_name/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/commands/console.rb:90:in `start'
from /Users/user_name/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/commands/console.rb:9:in `start'
from /Users/user_name/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/commands.rb:62:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

知道问题是什么吗?

小智 8

是的,随后发布的版本有所改变.因此,要在应用程序中访问它,请将变量设置为全局变量以具有完全访问权限.所以试试吧$client =

现在当你访问它时$client.user_timeline等等