# Gemfile
gem 'activeadmin'
gem 'switch_user'
# config/initializers/switch_user.rb
SwitchUser.setup do |config|
config.provider = :devise
# Make sure an admin user is signed in
config.controller_guard = lambda do |current_user, request|
request.env["action_controller.instance"].admin_user_signed_in?
end
config.view_guard = lambda { |current_user, request| false } # don't need this
config.redirect_path = lambda { |request, params| '/' }
end
Add link to admin/users#show
# app/admin/users.rb
ActiveAdmin.register User do
show do |user|
attributes_table do
row :sign_in_as do
link_to "Sign in as", "/switch_user?scope_identifier=user_#{user.id}"
end
# ...
end
end
# ...
end