2012-04-28 14 views
0

私は記事モデルとユーザーモデルを持っています。ユーザーはその記事に従うことができますが、それをアンフォローすることはできません。私は記事の新しいフォロワーを追跡し、それをプロットしたいときに検索したいと思います。 (今のところプロットは問題ではないと仮定してください)Railsでモデルの毎日のデータを保存する

私はすべての記事に、その記事が作成されて以来の各日付のリストを持たせたいと思います。だから、必要があります:

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

ユーザーが記事を以下のたびに、私はどうなる

This.newfollowers[Date()]++ 

明らかに、このようなデータを保存する(日付ごと)の記事データベースの各行は、属性の百であることを意味します。

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

+0

Rubyには「++」はありません。 –

+0

それはここで大声で叫ぶ新しいモデルです。あなたがMongoDBのようなNoSQL DBを扱っているのでなければ、このような複雑な属性を持つモデルを持つことができるのです。 –

答えて

1

日付を直接照会する必要がない場合は、ActiveRecord::Storeをご覧ください。少なくともRails 3.2.0を使用する必要がありますが、たくさんの列を追加する必要はありません。

もう1つの解決策は、スコアとして日付タイムスタンプを使用し、値として新しいフォロワーを使用してRedis sorted setを使用することです。

+0

redisは、モデルのより多くの毎日の属性を追加するためのスケーラビリティの良いオプションです。私は試して、報告します。ありがとう –

+0

私は[redis-objects](https://github.com/nateware/redis-objects)の宝石で成功しました。がんばろう! – x1a4

関連する問題