Class: Devise::MasqueradesController
- Inherits:
-
DeviseController
- Object
- DeviseController
- Devise::MasqueradesController
- Defined in:
- app/controllers/devise/masquerades_controller.rb
Instance Method Summary collapse
Instance Method Details
#back ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/controllers/devise/masquerades_controller.rb', line 24 def back user_id = session[session_key] resource = if user_id.present? masquerading_resource_class.to_adapter.find_first(:id => user_id) else send(:"current_#{masquerading_resource_name}") end if masquerading_resource_class != masqueraded_resource_class sign_out(send("current_#{masqueraded_resource_name}")) end masquerade_sign_in(resource) request.env['devise.skip_trackable'] = nil go_back(resource, path: after_back_masquerade_path_for(resource)) end |
#show ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/controllers/devise/masquerades_controller.rb', line 8 def show self.resource = find_resource unless resource flash[:error] = "#{masqueraded_resource_class} not found." redirect_to(new_user_session_path) and return end resource.masquerade! request.env["devise.skip_trackable"] = "1" masquerade_sign_in(resource) go_back(resource, path: after_masquerade_full_path_for(resource)) end |