В моем приложении у меня есть список элементов, который отображается на виде, и мы можем выполнить сортировку с помощью перетаскивания этих элементов, поэтому при выполнении операции перетаскивания я обновлю последовательность в таблице
params мы получаем
{"item"=>{"33194"=>"1", "30936"=>"2"}}
здесь ключ - item_id, а значение - последовательность, поэтому в контроллере я обновлю его как
params[:item].each do |item|
new_item = Item.find(item[0].to_i)
new_item.sequence_no = item[1].to_i
new_item.save
end
Но здесь проблема в том, что если у нас будет больше элементов, тогда потребуется много времени, чтобы обновить каждый элемент, а затем я попытался выполнить этот же запрос с прямым выполнением
ActiveRecord::Base.connection.exec_query(sql)
это уменьшает бит времени. Есть ли другой способ добиться этого с помощью какого-либо дополнительного драгоценного камня?