Here’s an somewhat unconventional approach to drag and drop sorting using acts_as_list I came up with this week. In the old days, I would have implemented something similar to this RailsCasts episode. But I think I might like this better.
I made a YouTube video explaining my thinking.
As Chris Oliver notes, it’s probably best to use Signed Global IDs to avoid users tampering with model names and IDs.
class ListInsertionsController < ApplicationController
item = GlobalID::Locator.locate(params[:item])
precursor = GlobalID::Locator.locate(params[:precursor])
authorize item, :update?