【发布时间】:2014-05-11 05:54:52
【问题描述】:
我正在尝试将我的应用与 twitter API 集成。
这是我的步骤:
1:安装 twitter gem:gem 'twitter
2:从 twitter gem 文档中获取 this 代码并将其放在我的 controller 中。我还尝试将代码放在helper 中。
require 'twitter'
@client = Twitter::REST::Client.new do |config|
config.consumer_key = ENV["CONSUMER_KEY"]
config.consumer_secret = ENV["CONSUMER_SECRET"]
config.access_token = ENV["ACCESS_TOKEN"]
config.access_token_secret = ENV["ACCESS_SECRET"]
end
3) 在 Twitter 上注册了我的应用程序并获得了 consumer_key (AKA: API key)、consumer_secret (AKA:API secret)、access_token 和 access_token_secret。
我使用config/application.yml 来存储访问令牌。这是正确的做法吗?但愿如此。
4) 在views,我有<%= @client.user.username %>。
我正在开发中执行此操作 (localhost3000)。我的回调地址是http://127.0.0.1/
我还尝试按照this answer 的建议组织我的代码,但无济于事。
我正在使用Rails 4.0.2
我测试了console 中的代码并且运行良好。我尝试了几个查询,包括上面显示的一个:<%= @client.user.username %>,它们都在工作。
但是当我在开发中运行我的代码时,我得到了这个错误:
undefined method `user'` for nil:NilClass.
我了解错误的含义。但是@client 怎么可能为零呢?当我在控制台中运行它时,它不是零。我是不是忘记了什么?我将不胜感激任何建议。如果您希望我提供更多信息/代码,请告诉我。谢谢。
编辑:另外,尝试将上面以@client 开头的代码移动到config/initializers/twitter.rb。得到相同的错误信息。
【问题讨论】:
标签: ruby-on-rails twitter