ActiveAdmin with friendly id
activeadmin, ruby, ruby-on-rails, ruby-on-rails-4, ruby-on-rails-5
Solution
There are cases, when application has quit a few resources, hence in order to keep it DRY there is a nice solution requiring few lines of code for whole application - simply override activeadmin's resource controller.
Create `config/initializers/active_admin_monkey_patching.rb` file with the following content:
ActiveAdmin::ResourceController.class_eval do
def find_resource
finder = resource_class.is_a?(FriendlyId) ? :slug : :id
scoped_collection.find_by(finder => params[:id])
end
end
Do not forget to restart the server.
Problem
I am using `friendly_id` in my rails 4 application with `slug`. Now I am using active_admin gem. Problem: When I click on show link from active admin for `Group` resource, It is throwing the following exception: ``` ActiveRecord::RecordNotFound at /admin/groups/username20-s-group-1 ``` I guess, I need to override some of the `active_admin` default functions?