0

我有一个文章模型和一个用户模型。用户可以关注该文章,但不能取消关注。我想跟踪一篇文章的新关注者,并在我想绘制它时检索它。(假设现在,绘图不是问题。)

我希望每篇文章都有一个自该文章创建以来的每个日期的列表。所以它会有:

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

每次用户关注一篇文章时,我都会这样做

This.newfollowers[Date()]++

显然保存这样的数据意味着文章数据库中的每一行都有数百个属性(对于每个日期)。

我将如何在文章模型中保存数据?如何声明/定义此类属性?

4

1 回答 1

1

如果您不需要直接查询日期,请查看ActiveRecord::Store。您至少需要使用 Rails 3.2.0,但会阻止您添加这么多列。

另一种解决方案可能是使用Redis 排序集,使用日期时间戳作为分数,将新关注者作为值。

于 2012-04-28T18:54:05.327 回答