我正在尝试使用Ruby Twitter Gem对基于某些关键字的推文进行地理标记进行分类。我可以从rails控制台上做到这一点,但我在一个视图中反映了我的发现,而我只是不知道该怎么做。
以下是我在命令行上所做的事情:
首先设置我的流媒体客户端:
client = Twitter::Streaming::Client.new do |config|
config.consumer_key = "MYCODE"
config.consumer_secret = "NOTYOURS"
config.access_token = "HANSHOT"
config.access_token_secret = "FIRST"
end
然后我初始化我的计数:
count = 0
geo = 0
最后我粘贴在我的简短脚本中并运行输入:
client.filter(:track => "cat") do |tweet|
count += 1
if(tweet.place.nil?)
# Do nothing
else
geo += 1
end
end
要访问我的搜索结果,我需要按Ctrl + C并输入“地理位置”。或者'计算'进入控制台。
在理想的世界中,我有一个显示计数和地理位置数的视图。每当我刷新视图时,所述视图都会刷新更新的数字。
我尝试在控制器中抛出它,但是页面永远不会加载,因为可能是控制器无限地解析流并且永远不会有机会渲染。
我把它放在模型文件中,但也没有做任何事情。
那么,我是以完全错误的方式来做这件事的吗?除了IRB以外,除了IRB之外,这些数字是不可能的?
答案 0 :(得分:0)
在创建控制器代码时,您需要记住以下几点:
一般而言,您的控制器代码可能如下所示:
def index
@client = Twitter::Streaming::Client.new do |config|
# ... (Configuration)
end
@count = 0
@geo = 0
client.filter(track: "cat") do |tweet|
@count += 1
if (tweet.place)
@geo += 1
end
break if (@count > 10)
end
end
这假设client.filter
操作可以在短时间内产生十个结果。