Rails 中的 Flash 消息如何工作?

问题描述 投票:0回答:2

框架如何将

flash
消息与用户关联? 它如何知道何时应用它,即在重定向之后?

想象一下这样一种情况,在添加

flash
和加载用户重定向到的页面之间,出现了一些完全未连接的 Ajax 请求。 Rails 会对 Ajax 请求应用 Flash 通知吗?

ruby-on-rails ruby-on-rails-4
2个回答
2
投票

我不认为闪存哈希与用户相关。它们存储在用户浏览器上的会话 cookie 中,以便在下一个请求时保留。对于该请求之后的请求,闪存哈希会自行清除。


0
投票

https://guides.rubyonrails.org/action_controller_overview.html#the-flash

闪存是会话的一个特殊部分,它会随着每个请求而被清除。

而且,session本身如何存储是由session store

决定的

ActionDispatch::Session::CookieStore - 将所有内容存储在客户端上。

ActionDispatch::Session::CacheStore - 将数据存储在 Rails 缓存中。

ActionDispatch::Session::MemCacheStore - 将数据存储在 memcached 集群中(这是遗留实现;考虑使用 CacheStore 代替)

ActionDispatch::Session::ActiveRecordStore - 将数据存储在数据库中 使用活动记录

(requires the activerecord-session_store gem) A custom store or a store provided by a third party gem 

© www.soinside.com 2019 - 2024. All rights reserved.