Rails 4:如何“复制”或将状态记录从模型'A'更改为模型'B'?

时间:2015-05-27 21:31:34

标签: ruby-on-rails ruby-on-rails-4 invoices

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

我应该在发票模型中包含哪些代码,以便记录“重复”或“更改”状态?

谢谢

1 个答案:

答案 0 :(得分:1)

在Quote中你可以使用以下代码

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