Проблемы с получением Twitter Gem To Work - выдача неопределенных ошибок метода

Я следую вместе с документацией для драгоценного камня Twitter и пытаюсь получить некоторые результаты, но я получаю следующую ошибку:

undefined method `sample' for nil:NilClass

Я положил это в мой config/initializers/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'

Почему я получаю эту ошибку?

2 ответа

Решение

Проблема заключалась в том, что я ссылался на него с помощью переменной экземпляра (например, @client =), когда мне нужно было сделать его постоянным или глобальным.

Ответ CLIENT =

Другой вариант заключался в том, чтобы создать экземпляр клиента в контроллере.

В вашем контроллере 'sample' не определено.

@client.sample do |object|
Другие вопросы по тегам