2013-09-27 123 views
0

我正在嘗試使用此gem將Twitter供稿集成到我的Rails 4應用程序中。Twitter整合導軌4應用程序

我讀過GitHub的頁面上的文檔,但我想在我看來,使用方法時,遇到了一個問題。

我有一個名爲twitter_init.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 

當嘗試使用下面的代碼在我看來,我收到錯誤undefined local variable or method 'client' for class#<#<class...>:...>

<% client.sample do |tweet| %> 
    <%= tweet.text %> 
<% end %> 

是否有另一個步驟暴露客戶端變量或者我沒有正確初始化它?

回答

3

當你啓動文件,你創建了一個局部變量設置客戶端Twitter的::流:: Client.new。這個變量失去了範圍,並且在你進入你的視圖時已經過去了。

得到它的工作刪除twitter_init.rb

然後在在視圖

<% @client.sample do |tweet| %> 
    <%= tweet.text %> 
<% end %> 

通知的@符號執行

@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 

然後控制器動作。

這並不違反不過瘦控制器厚示範公約,應像在其他地方服務初始化。

+0

我得到這個錯誤未定義的方法'樣品」的零:NilClass –

+1

這工作 - 但你有沒有弄清楚如何讓它工作,其中這個配置是不是在控制器?謝謝 – brad