【发布时间】:2016-06-29 17:23:40
【问题描述】:
基本上我想更新 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"。 rails 中是否有一种干净的方法来实现我想要的? update_attributes 报错。
标题名称正确吗?
【问题讨论】:
-
首先你的问题不是那么解释。查询 ID(主键)时如何返回多条记录?
-
让我告诉你我从你的问题中所理解的。所以你说你有一个值数组(在字符串拆分之后)并且你有多个模型对象(在查询之后)并且你希望每个值都以相同的顺序为模型设置,对吧?
-
@QaisarNadeem 谢谢。帖子已更新。
-
好吧,让我来回答一下
标签: ruby-on-rails ruby loops ruby-on-rails-5