Rails 4:如何"Duplicate"或将记录状态从模型'A'更改为模型'B'?

Rails 4: How to "Duplicate" or Change State of Records from model 'A' to model 'B'?

我有模型报价单和模型发票。 每个模型的数据库都有以下列:日期、公司、产品和价格。 当客户批准报价时,我想将该报价转换为具有相同值但具有当前日期和它自己的 invoice_id.

的发票

我应该在发票模型中包含什么代码,以便记录处于 "duplicates" 或 "changes" 状态?

谢谢

在引用中你可以使用下面的代码

after_save :generate_invoice, :if => :approved?

def approved?
 # your code to return true or false, this method should return true only one time, handle it carefully.
end

def generate_invoice
    Invoice.create!(date: Time.now, company: self.company, product: self.product, price: self.price)
end