当前位置:  开发笔记 > 后端 > 正文

冻结相关对象

如何解决《冻结相关对象》经验,为你挑选了1个好方法。

有没有人知道Rails中可以冻结关联对象的任何方法.我遇到的问题是我有一个包含许多订单项的订单模型,而这些订单项又属于某个产品或服务.支付订单时,我需要冻结订购商品的详细信息,以便在价格更改时保留订单的总计.



1> epochwolf..:

之前我在网上购买系统.你想要做的是有一个Order类和一个LineItem类.LineItems存储产品详细信息,如价格,数量,以及您需要保留记录的其他一些信息.它更复杂,但这是我知道锁定细节的唯一方法.

订单只是由LineItems组成,可能包含送货地址和帐单地址.可以通过将LineItem相加来计算订单的总价.

基本上,您在人员购买之前冻结数据.将它们添加到订单后,数据将被冻结,因为LineItems会复制nessacary产品信息.这样,当从系统中删除产品时,您仍然可以理解旧订单.

您可能希望查看rails插件调用'AASM'(以前充当状态机)来处理订单状态.

编辑:AASM可以在http://github.com/rubyist/aasm/tree/master找到

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有