我有一个 Rails 6.1 应用程序。我为排除的通知存储了一个会话变量。用户可以禁用通知,并且特定通知存储在会话变量中。
此设置适用于桌面。但是,当使用 Android 设备打开网站时,创建的会话 cookie 在关闭浏览器后不会持续存在。因此,每次用户关闭浏览器并重新打开它时,都会创建一个新的会话 cookie。
- 该问题与特定浏览器无关,并且发生在移动浏览器上。
- 我存储了其他确实存在的 cookie
设置如下:
在控制器中存储会话密钥:
session[:disabled_notices] ||= []
session[:disabled_notices] << params[:notice]
检查通知是否从视图中的会话变量中排除:
session[:disabled_notices].exclude?(notice_name)
session_store.rb
Rails.application.config.session_store :cookie_store, key: '_iftf_session', domain: :all
有谁知道什么可能导致这个问题?谢谢您的帮助!