Проблемы с получением 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|