Add an ability to rails_admin to impersonate as any user or actually any member that is devise authenticatable.
Add this line to your application's Gemfile:
gem 'rails_admin_impersonate'
And then execute:
$ bundle
Add to your config/initializers/rails_admin.rb
an action impersonate
to actions:
config.actions do
# root actions
dashboard # mandatory
# collection actions
index # mandatory
new
export
history_index
bulk_delete
# member actions
show
edit
delete
history_show
show_in_app
impersonate
end
Now restart the application and visit User table in the admin.
You should see home icon and Impersonate link for every model that uses Devise.
Note: by default impersonation is disabled for model Admin
. If you want to
disable it for some other model you can modify the above code like this:
config.actions do
...
impersonate do
authorized do
'ModelName' != bindings[:abstract_model].model_name
end
end
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
© 2013 Boris Nadion