我是Rails Newbie。我正在尝试在我的项目中实现Hashtags。
我一直在看以下帖子和twitter gem。
这是我的推文控制器:
def index
@tweets = Tweet.all
end
我的推文模型
class Tweet < ActiveRecord::Base
include Twitter::Extractor
def extract_tags
extract_hashtags(self.post)
end
end
这是我的观点:
<% @tweets.each do |tweet| %>
<tr>
<td><%= tweet.post %></td>
<td><%= tweet.extract_tags %></td>
</tr>
<% end %>
在我的浏览器中..这就是我所看到的
#Rails is #awesome ["Rails", "awesome"] Show Edit Destroy
#37 Signals [] Show Edit Destroy
Ruby on #rails ["rails"] Show Edit Destroy
如何将所有这些单独的标签数组合并成一个大数组呢?
我如何在一段时间内展示最受欢迎的那些..让我们说过去15分钟,1小时等受欢迎。
寻求帮助。非常感谢提前!
答案 0 :(得分:2)
您可以在一个数组中获取所有推文中的所有标记,如下所示:
@tweets.map(&:extract_tags).inject(:+)
# or
@tweets.map(&:extract_tags).flatten
如果您不想重复标记,请在最后添加uniq
。
@tweets.map(&:extract_tags).flatten.uniq