我正在创建一个rails应用程序,用户(care_giver)可以使用devise登录。在此登录后,用户将获得所有已分配的Fitbit帐户的概览。在这里,CareGiver可以使用omniauth使用其中一个Fitbit帐户登录。但是,当我希望CareGiver退出(销毁)Fitbit会话时,CareGiver总是会在Fitbit会话中退出。
会话销毁后重定向用户
def after_sign_out_path_for(resource_or_scope)
care_givers_client_overview_path
end
在视图中:
= link_to 'Uitloggen', destroy_care_giver_session_path, class: "", data: { confirm: 'Weet u zeker dat u wilt uitloggen?' }, method: :delete
接收错误:
nil的未定义方法`id':NilClass
def client_overview
@fitbits = FitbitUser.where(:care_giver_id == current_care_giver.id )
end
我的问题是如何在不实际接触CareGiver会话的情况下摧毁一个会话(Fitbit)。
答案 0 :(得分:3)
您应该将config.sign_out_all_scopes = false
放入devise.rb
。设计标准符号所有范围(https://github.com/plataformatec/devise/blob/master/app/controllers/devise/sessions_controller.rb,第26行)。