Ruby on rails .模型中的更新-参数数目错误(0表示1)
在我的订单模型中,我有下面的回调。直到最后一行,我尝试更新1 invoice属性并在invoice模型中触发after_update回调,但在使用.update()方法时收到错误数量的参数(0代表1) 以下内容可作为解决方案:Ruby on rails .模型中的更新-参数数目错误(0表示1),ruby-on-rails,model,Ruby On Rails,Model,在我的订单模型中,我有下面的回调。直到最后一行,我尝试更新1 invoice属性并在invoice模型中触发after_update回调,但在使用.update()方法时收到错误数量的参数(0代表1) 以下内容可作为解决方案: invoice.update_column(:statement_id, statement.id) invoice.save 为什么第一种方法不能像我预期的那样工作?谢谢 更新是一种类方法。这应该起作用: Invoice.update(invoice.id, :sta
invoice.update_column(:statement_id, statement.id)
invoice.save
为什么第一种方法不能像我预期的那样工作?谢谢 更新是一种类方法。这应该起作用:
Invoice.update(invoice.id, :statement_id => statement.id)
还可以使用update_属性
invoice.update_attribute('statement_id', statement.id)
update是一个类方法。这应该起作用:
Invoice.update(invoice.id, :statement_id => statement.id)
还可以使用update_属性
invoice.update_attribute('statement_id', statement.id)
方法仅在类级别可用
使用其中一个
invoice.update_attribute(:statement_id, statement_id) #validations will be skipped
或
不要使用update\u列
,因为当使用update\u列
更新时,将跳过验证
和回调
,方法仅在类级别可用
使用其中一个
invoice.update_attribute(:statement_id, statement_id) #validations will be skipped
或
不要使用
update\u列
,因为使用update\u列
更新时将跳过验证
和回调
,谢谢,这很有效。我在我的应用程序中使用了相同的语法(更新变量,而不是类),并且它工作正常。知道为什么会这样吗?谢谢,这很有效。我在我的应用程序中使用了相同的语法(更新变量,而不是类),并且它工作正常。你知道为什么会这样吗?