【问题标题】:Rails 4: How to "Duplicate" or Change State of Records from model 'A' to model 'B'?Rails 4:如何“复制”或将记录状态从模型“A”更改为模型“B”?
【发布时间】:2015-05-27 21:31:34
【问题描述】:

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

    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
    

    【讨论】:

    • 是的,但您需要确定或跟踪报价是否已获批准。
    • 所以我正在考虑在表单中添加一个已批准的复选框。因此,它将是 def approved? approved = true end ?
    • 是的,你可以试试这个,然后阅读评论是否批准?方法。
    • 我不知道您在尝试什么,但似乎每个报价都应该有一张发票,您可以在表单上添加一个属性“已批准”然后默认批准?批准结束这将返回真/假。
    猜你喜欢
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多