【发布时间】:2022-01-03 07:42:16
【问题描述】:
我有一个follow方法,效果很好
def update
ids = params["_json"].map { |hash| hash["id"] } # --> return [10, 20, 30, 40 ]
positions = params["_json"].map { |hash| hash["position"] } # --> return [0, 1, 2, 3 ]
query = MyQueryQuery.new
query.visible = true
query.active = true
available = query.fetch.map(&:id)
::Model.where(id: (ids & available))
.update_all(show_home: true, updated_at: DateTime.now)
end
如何更改此方法以使用位置数组中的每个元素更新模型中名为位置的新列?例如在 Model(id: 10, position: 0), Model(id: 20, position: 1), Model(id: 30, position: 2) 等......
【问题讨论】:
标签: ruby-on-rails ruby activerecord