File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed
actionpack/lib/action_dispatch/middleware Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,14 @@ class Request < Rack::Request
8
8
def flash
9
9
@env [ Flash ::KEY ] ||= Flash ::FlashHash . from_session_value ( session [ "flash" ] )
10
10
end
11
+
12
+ def flash = ( flash )
13
+ @env [ Flash ::KEY ] = flash
14
+ end
15
+
16
+ def flash_hash # :nodoc:
17
+ @env [ Flash ::KEY ]
18
+ end
11
19
end
12
20
13
21
# The flash provides a way to pass temporary primitive-types (String, Array, Hash) between actions. Anything you place in the flash will be exposed
@@ -263,14 +271,15 @@ def initialize(app)
263
271
end
264
272
265
273
def call ( env )
274
+ req = ActionDispatch ::Request . new env
266
275
@app . call ( env )
267
276
ensure
268
277
session = Request ::Session . find ( env ) || { }
269
- flash_hash = env [ KEY ]
278
+ flash_hash = req . flash_hash
270
279
271
280
if flash_hash && ( flash_hash . present? || session . key? ( 'flash' ) )
272
281
session [ "flash" ] = flash_hash . to_session_value
273
- env [ KEY ] = flash_hash . dup
282
+ req . flash = flash_hash . dup
274
283
end
275
284
276
285
if ( !session . respond_to? ( :loaded? ) || session . loaded? ) && # (reset_session uses {}, which doesn't implement #loaded?)
You can’t perform that action at this time.
0 commit comments