ruby-on-rails – 信用系统:基于历史还是基于平衡?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 信用系统:基于历史还是基于平衡?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我打算写一个简单的信用系统,用户可以在系统中“添加”,“扣除”信用.目前我正在考虑两种方法.

>简单一:将用户的信用存储在数据库中作为余额字段,并记录所有操作(“添加”,“扣除”),但不用于计算最新余额.
>基于历史记录:不要将余额存储在数据库中.通过查看交易历史来计算余额,例如(“加”,“扣除”)

我认为这两种情况都有效,但我想看看在设计这样一个系统时是否有任何警告,特别是我赞成基于历史的系统.

或者,有没有我使用的参考实现或开源模块?

更新:或者是否有像AuthLogic这样基于Ruby / Rail的模块,因此我可以插入和播放现有代码而无需重新发明轮子(例如事务,回滚,安全性等)?

解决方法

绝对使用两者.

>基于余额的方式使您可以快速访问当前金额.
>基于历史的方式为您提供审计.历史表应存储交易(如您所述),时间戳,交易发生前的余额,理想情况下是跟踪资金来源/目的地的方式.

Ruby Toolbox for bookkeepingPlutus double-entry bookkeeping gem.

此外,如果您的信用系统可能会影响用户,那么我建议您也使用日志记录,理想情况下请阅读安全日志验证和可证明的时间戳链接.

>有关记录详细信息,请参阅:techniques for ensuring verifiability of event log files.
>对于有信用的开源代码,您可能需要查看:http://www.gnucash.org/

猜你在找的Ruby相关文章