我似乎無法在任何地方找到它...我如何刪除/銷燬/重置/清空/清除Rails中的用戶會話?不只是一個值,而是整個事情..如何在rails中清空/銷燬會話?
回答
要清除整個事情,請在控制器中使用reset_session方法。
reset_session
下面是這個方法的文檔:http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
復位通過清除所有 存儲並且 初始化一個新的會話對象中的對象的會話。
祝你好運!
在rails中的會話是一個散列對象。因此,任何可用於清除哈希的函數都可以用於會話。
session.clear
或 如果特定鍵都被破壞:
session.delete(key)
測試中軌3.2
任何人有任何想法,這個方法的優點與Gdeglin推薦的? – 2014-01-16 17:00:51
當您想要保留其他參數,但刪除一個特定的鍵值對時,可以使用此選項。 – Lavixu 2014-01-17 05:59:42
我想我指的是使用'session.clear'或'session = {}'與使用'reset_session'。他們是一樣的嗎? – 2014-01-17 12:22:51
只清除某些參數,你可以使用:
[:param1, :param2, :param3].each { |k| session.delete(k) }
到刪除用戶的會話
session.delete(:user_id)
小心,您可以從數據庫中刪除用戶記錄! – Arthur 2017-10-09 02:39:53
@Arthur事實並非如此。但是你只會從會話中刪除:user_id鍵而不是整個會話 – 2018-03-06 12:05:15
此代碼添加到您的ApplicationController
def reset_session
@_request.reset_session
end
(不知道爲什麼沒有人以上才提這個代碼 因爲它固定我的問題) http://apidock.com/rails/ActionController/RackDelegation/reset_session
只有一個適合我的工作。 – amingilani 2016-10-16 08:40:48
- 1. 如何在symfony 2.6中銷燬會話?
- 2. 銷燬rails中的所有會話3
- 3. 在codeigniter中銷燬會話
- 4. 銷燬用戶後清除會話
- 5. 銷燬Nuance會話
- 6. 銷燬$ _SERVER會話?
- 7. PHP會話銷燬
- 8. Rails v3會話銷燬不起作用?
- 9. 銷燬servlet中的會話
- 10. 只要模型銷燬鏈接被點擊,Rails會話就會被銷燬
- 11. (PHP)如何正確銷燬會話cookie?
- 12. 在應用程序中銷燬會話
- 13. 會話不是在codeigniter中銷燬
- 14. swfupload會話問題銷燬會話
- 15. Datasnap:會話銷燬事件
- 16. 關閉銷燬PHP會話
- 17. 真正銷燬PHP會話?
- 18. JMeter無法銷燬會話
- 19. swfupload銷燬會話? php
- 20. 在Rails中銷燬用戶會話的簡潔方法
- 21. 如何在註銷時清除會話
- 22. 會話銷燬/註銷奇數問題
- 23. Rack :: Auth :: Basic銷燬會話(註銷)
- 24. Facebook的連接 - 註銷+銷燬會話
- 25. 銷燬會話,同時註銷
- 26. PHP會話。管理員如何銷燬用戶的會話
- 27. Rails,如果空白就銷燬
- 28. 銷燬會話中的問題
- 29. 銷燬會話中的塔或Python
- 30. 如何在PHP中設置和銷燬會話Symfony
對於基於數據庫的會話(你應該可能使用),你可以通過查詢過期:http://guides.rubyonrails.org/security.html#session-expiry – m33lky 2012-02-24 07:14:51