Extensions to the core rails classes
Extends the core rails classes with helpful functions
Add to your Gemfile:
gem ‘rails_core_extensions’
This gems contains many extensions including a sort extension:
Sortable
This allows you to sort an entire collection by setting the new position of an item
and all other items will reorganise as needed.
app/controllers/types_controller.rb
class TypesController < ActionController::Base
sortable
end
config/routes.rb
In Rails 6:
resources :types do
collection
post :sort
end
end
You need to submit a collection of objects named the same as the controller.
e.g. for the above the params should be:
types_body[]=1
types_body[]=3
Where the value is the id, and the position of submission is the new order, e.g.
In the above, the item of id 3 will be updated to position 2
If you have scoped sorts, e.g. sorts within categories you also need to pass in 2 params:
So in the above if you want to upgrade category_id 6, you could submit
scope=category_id&category_id=6
along with type_body[]=7… for all the types in category 6
To publish a new version of this gem the following steps must be taken.
CHANGELOG.md
lib/rails_core_extensions/version.rb