我有一个名为 Animal 的 ActiveRecord 模型。Animal 有 id 和 client_id。在我的应用程序中有一个名为@selectedanimals 的数组,其中包含我要更新的动物的ID,例如:@selectedanimals:[“6”,“14”,“5”]。对于这些动物,我有一个新的 client_id 的值,比如@newclient.id,我想用新的 client_id 更新所有这些动物记录。我现在拥有的是:
Animal.update_all({:client_id => @transferclient.id}, {:id => @selecteanimals})
我知道这不是 100% 正确的,因为 :id 有问题。我收到这样的错误:Called id for nil,这会错误地是 8——如果你真的想要 nil 的 id,请使用 object_id
请原谅我的无知,但这是我第一次使用 update_all 并且我没有看到任何示例,其中您将要更新的记录的 id 数组传递给它,因此非常感谢任何帮助。
编辑:显然@transferclient.id 没有正确定义。那是我的问题。谢谢大家。