基本上我想更新的Rails的模型中的每个表列5.更新在轨道的每一个数组对象价值
str = "abc---def"
str.split('---').map do |a|
Foo.where(product_id:1).update_all(bar: a)
end
旧的对象会是这样:
[
[0] { product_id: 1,
...,
bar: "xxx",
...
},
[1] { product_id: 1,
...,
bar: "xxx",
...
}
]
新应该是这样的:
[
[0] { product_id: 1,
...,
bar: "abc",
...
},
[1] { product_id: 1,
...,
bar: "def",
...
}
]
但是我得到的是每个bar: "def"
。有没有一个干净的方法在轨道上实现我想要的? update_attributes
提供了一个错误。
标题名称是否正确?
首先你的问题不是那么明显。您如何期望在查询ID(主键)时返回多条记录? –
让我告诉你我从你的问题中得到了什么。 所以你说你有一个值的数组(在字符串分割之后) 而且你有多个Model对象(在查询之后)并且你想要为模型设置相同顺序的每个值,对吗? –
@QaisarNadeem谢谢你。发布更新。 – Sylar