ruby on rails-让Twitter Gem工作有问题-给出未定义的方法错误



我正在关注Twitter gem的文档,并试图获得一些结果,但我得到了以下错误:

undefined method `sample' for nil:NilClass

我已经把它放在我的config/iinitializers/twitter_credentials.rb中(我的密钥和令牌填写在我的应用程序中)

@client = Twitter::Streaming::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

以下是来自我的控制器的比特:

require 'twitter'
class StaticPagesController < ApplicationController
  def home
    @tweets = Array.new
    @client.sample do |object|
        @tweets << object.text if object.is_a?(Twitter::Tweet)
    end
  end
end

在我看来:

<% @tweets do |tweet| %>
   <%= tweet.text %>
<% end %>

当然,这是在我的gemfile中:

gem 'twitter'

为什么我会犯那个错误?

问题是我使用实例变量(例如@client =)引用它,而我需要使它成为常量或全局变量。

回答CLIENT =

另一种选择是将它实例化控制器中的客户端。

在控制器中,没有定义"sample"。

@client.sample do |object|

最新更新