我正在将一个对象属性从一个模型复制到另一个这样的模型;
@estimate = Estimate.find(params[:estimate_id])
@invoice = Invoice.create(@estimate.attributes)
有了这个副本,它只复制模型属性,
(估计副本为新发票)但估计模型和发票模型与“项目”模型有habtm关系。
如何创建一个新的@invoice对象,该对象带有估算值,并且它的项在一起?困惑的。。。
更新:
估算:has_and_belongs_to_many:items(估算项目表)
接受项的嵌套属性
发票:has_and_belongs_to_many:items(发票项目表)
接受项的嵌套属性
物品:属于:估价
归属:发票
谢谢。
最佳答案
我有点搞不懂你到底是什么意思。您想同时复制attrs和在join表中创建一个记录来将两者关联起来吗?如果是这样的话,我想这应该是一个技巧(未经测试)。
@estimate = Estimate.find(params[:estimate_id])
@invoice = Invoice.create(@estimate.attributes.merge(:items => @estimate.items))