4

I am using the switch_user gem This question has almost the exact problem that I have. I have tried the same thing as in the question and like the readme says. This the code I have tried.

 config.controller_guard = { |current_user, request, original_user|
  current_user && current_user.has_role? :admin || original_user}

  # view_guard is a block,
  # if it returns true, the switch user select box will be shown,
  # else the select box will not be shown
  # if you switch from admin to "user", the current_user param is "user"
config.view_guard = { |current_user, request, original_user|
  current_user && current_user.has_role? :admin || original_user}
  # redirect_path is a block, it returns which page will be redirected
  # after switching a user.

#  if lambda{|current_user| current_user.admin?}
#   config.redirect_path = lambda{|request,params| "/admin_dashboard"}
# elsif lambda{|current_user| current_user.performer?}
#   config.redirected_path = lambda{|request,params| "/"}
# elsif lambda{|current_user| current_user.white_label?}
#   config.redirected_path = lambda{|request,params| "/white_label_dashboard"}
# else
#   config.redirected_path = lambda{|request,params| "/customer_dashboard"}
# end
  # helper_with_guest is a boolean value, if it set to false
  # the guest item in the helper won't be shown
  config.helper_with_guest = false

  # false = login from one scope to another and you are logged in only in both scopes
  # true = you are logged only into one scope at a time
  config.login_exclusive = true

  # switch_back allows you to switch back to a previously selected user. See
  # README for more details.
config.switch_back = true

I am still not able to switch back. How do I even find if the original user is set?

Community
  • 1
  • 1
Aravind
  • 1,391
  • 1
  • 16
  • 41

1 Answers1

1

In case someone is still struggling with switch_user gem, I strongly recommend Pretender by Ankane. I just installed it in 10 minutes.