2015-07-13 2 views
1

Я использовал omniauth-salesforce в моем контроллере сессий я следующий код, даже когда я выйти на сессию по-прежнему присутствует, я попытался session.clear и reset_session в уничтожить метод, но ничего не работает, знак в работах только после очистки кэшаСессия не работает в приложении rails?

class SessionsController < ApplicationController 
    def create 
    user = User.from_omniauth(env["omniauth.auth"]) 
    session[:user_id] = user.id 
    redirect_to root_url 
    end 

    def destroy 
    session[:user_id] = nil 
    redirect_to root_url 
    end 
end 
браузера

Как удалить сеанс при выводе?

+0

Здравствуйте M.R как вы решить эту проблему? Я использую omniauth Facebook и twitter gems, и в итоге с той же проблемой. – learner

ответ

0

Сессия похожа на нормальный хэш, поэтому ниже вещь должна работать.

session.delete(:user_id) 
+0

Я добавил выше в сеансах контроллера уничтожить метод, но все еще не работает –

+0

Значит, он не удалял user_id из сеанса, который вы говорите? –

+0

Когда я помещаю session [: user_id] в начале метода destroy, он возвращает 1 после этого кода (session [: user_id] = nil), значение установлено в nil –

0

Используйте этот

session[:user_id] = nil if session[:user_id] 
Смежные вопросы