当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 冻结相关对象

来源:互联网 收集:自由互联 发布时间:2021-06-23
有没有人知道Rails中可以冻结关联对象的任何方法.我遇到的问题是我有一个包含许多订单项的订单模型,而这些订单项又属于某个产品或服务.支付订单时,我需要冻结订购商品的详细信息
有没有人知道Rails中可以冻结关联对象的任何方法.我遇到的问题是我有一个包含许多订单项的订单模型,而这些订单项又属于某个产品或服务.支付订单时,我需要冻结订购商品的详细信息,以便在价格更改时保留订单的总计. 之前我在网上购买系统.你想要做的是有一个Order类和一个LineItem类. LineItems存储产品详细信息,如价格,数量,以及您需要保留记录的其他一些信息.它更复杂,但这是我知道锁定细节的唯一方法.

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

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

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

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

网友评论