2

我是 Rails 新手。我正在尝试在我的项目中实现 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 小时等流行的内容。

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

4

1 回答 1

2

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

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

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

@tweets.map(&:extract_tags).flatten.uniq
于 2012-02-01T00:00:29.680 回答