使用Twitter-Text-Rb Gem在Rails中提取Hashtags

时间:2012-01-31 23:55:35

标签: ruby arrays ruby-on-rails-3 twitter hashtag

我是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小时等受欢迎。

寻求帮助。非常感谢提前!

1 个答案:

答案 0 :(得分:2)

您可以在一个数组中获取所有推文中的所有标记,如下所示:

@tweets.map(&:extract_tags).inject(:+)
# or
@tweets.map(&:extract_tags).flatten

如果您不想重复标记,请在最后添加uniq

@tweets.map(&:extract_tags).flatten.uniq