如何更新用于收集ID的收集数据?
问题描述:
我在params
中收到了ids [1,2,3,4]
的集合,并且我调用了一个将返回相应id的数组的API。例如。 ["Apple","Orange","Mango"]
。如何在我的数据库中更新相应的ID?如何更新用于收集ID的收集数据?
例如:上面提到的ids
来自我的用户表。 ids = [1,2,3,4]
,它们是我用户表中的主键。
从API响应中,我得到了相关user_ids
的fruit_names
数组。例如:ids = [1,2,3,4]
和fruit_names = ["a","b","c","d"]
,其中fruit_name
列存在于我的用户表中。如何在我的用户表中更新来自API响应相关ids
的fruit_name
?
答
可以结合使用与为update
此:
ids.each_with_index do |id, index|
User.update(id, :fruit_name, fruit_names[index])
end
上面代码假定:
ids = [1,2,3,4]
fruit_names = ["a","b","c","d"]
并且那些阵列匹配的索引。
请注意,这将对ids
阵列中的每个项目执行查询。如果您的ids
阵列非常大,这将不会表现良好。
你必须给你正在尝试做的更多详细信息。我们不知道你的数据库是什么样的。另外,请向我们展示您尝试过的方式以及准确卡住的位置。 – Mischa
那么这个API调用究竟是如何工作的?你知道'['Apple','Orange','Mango']'是如何与'[1,2,3,4]'相关的吗?如果你不能在你的问题中说清楚,就不能回答。 – Mischa
我已经更新了我的问题。请看看它。 – Mano