Rails - `flash.discard` 与 `flash.delete`

Rails - `flash.discard` vs `flash.delete`

如题,请问Railsflash.discardflash.delete有什么区别。

flash.delete 是即时的。 flash.discard 将在当前操作结束时移除闪光灯。

因此使用flash.discard您仍然可以检查当前操作中的闪存内容。

@SteveTurczyn是对的。

但是,flash.delete 只能在 3.1 之前的 rails 版本中执行。

从 3.1 开始,flash.delete 不再有效,替代方案可能是 flash.clear(查看 flash.delete(:notice) not working in Rails 3.1 RC?)。

您可能还想查看:https://apidock.com/rails/v3.0.0/ActionDispatch/Flash/FlashHash/discard