2

私は Rails 初心者です。プロジェクトにハッシュタグを実装しようとしています。

私は次の投稿 this と 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

これらのハッシュタグの個々の配列をすべて 1 つの大きな配列に結合するにはどうすればよいですか?

一定期間で最も人気のあるものも表示するにはどうすればよいですか..過去15分間、1時間などの人気があるとしましょう.

助けを求めています。よろしくお願いします!

4

1 に答える 1

2

次のように、すべてのツイートからすべてのタグを 1 つの配列で取得できます。

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

タグを繰り返したくない場合はuniq、最後に追加してください。

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