为某些事件创建历史记录或日志

时间:2015-04-23 15:45:53

标签: ruby-on-rails logging history

我不确定什么是更好的表现,所以我问你们。

问题在于:

我有一个系统,每个用户都可以获得特定事件的一定数额的信用。所以我给了我的用户一个名为creditscore的属性,这些属性会在这些事件上被改变。一切都很好。但是现在我希望用户真正看到他为此做了什么以及为此获得了多少信用。

这里会更好:

  • 将整个历史记录保存在文本属性中,并为每个事件添加行

  • 编写与用户关联的额外模型,并为每个事件创建一个实例。 或

  • 有什么不同之处?

由于每个用户每天有几个事件,因此它可能是一个巨大的文本或大量的实例。什么会更好地看待网站的表现。

1 个答案:

答案 0 :(得分:2)

您绝对不希望将历史记录存储在文本属性中。管理这将是一个噩梦,将查询数据。

您可以创建一个CreditEvent模型并将各个事件存储在那里。那会很好。

但是,在开始之前,请检查rubygems.org和ruby-toolbox.com,看看是否有人已经完成了艰苦的工作。我知道至少有一个宝石看起来像你想做的那样:

https://github.com/merit-gem/merit