2012-12-31 22 views
3

我正在編寫一個簡單的登錄/註銷Web應用程序。下面是培訓相關代碼:Sinatra session.clear無法正常工作

get '/logout' do 
    session.clear 
end 

get '/self' do 
    if session[:user_id] 
     user = User.find session[:user_id] 
     user.to_json 
    else 
     status 401 
     {"error" => "Not logged in."}.to_json 
    end 
end 

如果我打電話logout,然後self,它不返回"Not logged in".相反的:user_id仍然存在,我返回用戶的詳細信息。我究竟做錯了什麼? 謝謝!

回答

1

這應該工作

get '/logout' do 
    session[:user_id] = nil 
    redirect '/self' 
emd 
+0

還沒有嘗試過,因爲我沒有我的電腦上還沒有,但有什麼理由session.clear不起作用? – 0xSina

+0

不確定爲什麼session.clear不起作用,你從哪裏調用'/ self' – Egryan