使用Ruby On Rails复制对象属性3

Har*_*rry 4 ruby ruby-on-rails-3

我正在将模型中的对象属性复制到另一个模型中;

 @estimate = Estimate.find(params[:estimate_id])
 @invoice = Invoice.create(@estimate.attributes)
Run Code Online (Sandbox Code Playgroud)

使用此副本,它只是复制模型属性,(估计副本为新发票)但估计模型和发票模型与"项目"模型具有HABTM关系.

如何用Estimate和它的Item一起创建新的@invoice对象?困惑...

更新:

  • 估计:has_and_belongs_to_many:items(estimate_items表)accepted_nested_attributes_for:items
  • 发票:has_and_belongs_to_many:items(invoices_items表)accepted_nested_attributes_for:items
  • 项目:belongs_to:估计belongs_to:invoice

谢谢.

idl*_*ers 5

关于你究竟是什么意思,我有点困惑.您是否希望同时复制attrs并在连接表中创建记录以同时关联两者?如果是这样,我应该这样做(未经测试)......

@estimate = Estimate.find(params[:estimate_id])
@invoice = Invoice.create(@estimate.attributes.merge(:items => @estimate.items))
Run Code Online (Sandbox Code Playgroud)