0

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

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'

为什么我会收到这个错误?

4

2 回答 2

1

问题是@client =当我需要将其设为常量或全局变量时,我使用实例变量(例如 )来引用它。

回答CLIENT =

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

于 2014-04-30T04:15:50.317 回答
0

在您的控制器中,未定义“样本”。

@client.sample do |object|
于 2014-04-20T03:43:40.107 回答