0

記事モデルとユーザー モデルがあります。ユーザーはその記事をフォローできますが、フォローを解除することはできません。記事の新しいフォロワーを追跡し、それをプロットしたいときに取得したいと考えています。(今のところ、プロットは問題ではないと仮定します。)

すべての記事に、その記事が作成されてからのすべての日付のリストが必要です。したがって、次のようになります。

article.newfollowers[1/1/2012] = 35
article.newfollowers[2/1/2012] = 4

ユーザーが記事をフォローするたびに、私はそうします

This.newfollowers[Date()]++

明らかに、このようなデータを保存すると、記事データベースの各行に (日付ごとに) 数百の属性が含まれることになります。

記事モデル内にデータを保存するにはどうすればよいですか? そのような属性を宣言/定義するにはどうすればよいですか?

4

1 に答える 1

1

日付を直接照会する必要がない場合は、ActiveRecord::Storeを確認してください。少なくともRails3.2.0を使用する必要がありますが、これほど多くの列を追加する必要はありません。

別の解決策は、日付のタイムスタンプをスコアとして使用し、新しいフォロワーを値として使用して、 Redisでソートされたセットを使用することです。

于 2012-04-28T18:54:05.327 に答える