Administrate::DefaultOrder
Add default ordering to Administrate controllers.
Installation
Add this line to your application's Gemfile:
gem 'administrate-default_order'And then execute:
$ bundle
Or install it yourself as:
$ gem install administrate-default_order
Usage
include 'Administrate::DefaultOrder' in your base admin ApplicationController:
require 'administrate/default_order'
class ApplicationController < Administrate::ApplicationController
include Administrate::DefaultOrder
end
class BookController < ApplicationController
default_order Book, name: :asc
end⚠ If you're on a recent administrate version, you'll (temporarily) need to add the following to your base controller / application controller:
def sorting_params
from_query = super
return from_query if from_query.present?
params.fetch(resource_name) { ActionController::Parameters.new({}) }
.permit(:direction, :order)
endThat's because sorting_params used to work directly on params and now it works on request.query_parameters only, so it can't conflict with locally passing params with the exact same name. This re-introduces that constraint, but also makes DefaultOrder work again. A future update to this library will resolve this limitation.
Related
-
Administrate: A Rails engine that helps you put together a super-flexible admin dashboard. -
Administrate::BaseController: 🌠 A set of application controller improvements.
Concerns
-
Administrate::SerializedFields: 🆎 Automatically deserialize administrate fields on form submit.
Fields
-
Administrate::Field::Code: 📝 Atextfield that shows code. -
Administrate::Field::Hyperlink: 📝 Astringfield that is shows a hyperlink. -
Adminisrtate::Field::JsonEditor: 📝 Atextfield that shows a JSON editor. -
Administrate::Field::ScopedBelongsTo: 📝 Abelongs_tofield that yields itself to the scopelambda. -
Administrate::Field::ScopedHasMany: 📝 Ahas_manyfield that yields itself to the scopelambda. -
Administrate::Field::TimeAgo: 📝 Adate_timefield that shows its data astime_agosince.
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can
also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the
version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version,
push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at XPBytes/administrate-default_order.