2013-09-27 85 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