【问题标题】:Twitter Gem for Ruby on Rails not working. What am I missing?Ruby on Rails 的 Twitter Gem 无法正常工作。我错过了什么?
【发布时间】:2013-12-09 00:32:23
【问题描述】:

我正在尝试让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

当我尝试在 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>'

知道问题是什么吗?

【问题讨论】:

    标签: ruby-on-rails ruby twitter


    【解决方案1】:

    是的,随着以后的版本发生了一些变化。因此,要在应用程序中访问它,请将变量设为具有完全访问权限的全局变量。所以试试$client =

    现在,当您访问它时,请致电 $client.user_timeline 等。

    【讨论】:

    • 将此作为全局变量是否会引发任何安全问题?
    • 这里也一样...必须有更好的方法来做到这一点?也许先添加到数据库并从那里读取?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多