# Controller failing to read flash

**URL:** <https://www.ruby-forum.com/t/controller-failing-to-read-flash/194323>\
**Category:** Rails\
**Created:** [September 2, 2010, 12:37pm UTC](https://www.ruby-forum.com/t/controller-failing-to-read-flash/194323 "2010-09-02T12:37:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![aginghipster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e9c0ed/32.png) [@aginghipster](https://www.ruby-forum.com/u/aginghipster)\
**Post date:** [September 2, 2010, 12:37pm UTC](https://www.ruby-forum.com/t/controller-failing-to-read-flash/194323/1 "2010-09-02T12:37:51Z")

</div>

I’m seeing some pretty strange behavior from the flash in my rails  
2.3.8 app. I set the flash in a request, and then redirect. In the  
next request (the one redirected to), accessing the flash returns an  
empty hash, but the flash is stored and visible in the session.

(rdb:21) session  
{:user\_credentials=\>"…", :session\_id=\>"…", :user\_credentials\_id=\>1,  
:flash=\>{:notice=\>“Twitter  
status updated”}, :\_csrf\_token=\>"…"}  
(rdb:21) session[:flash]  
{:notice=\>“Twitter status updated”}  
(rdb:21) flash  
{}

Looking at the source for flash in actionpack-2.3.8/lib/  
action\_controller/flash.rb,  
the difference is that the key is stored as a string and not a symbol.  
How could that disparity occur?

# Access the contents of the flash. Use flash[“notice”] to

```
    # read a notice you put there or <tt>flash["notice"] =

```

“hello”  
# to put a new one.  
def flash #:doc:  
if !defined?(@\_flash)  
@\_flash = session[“flash”] || FlashHash.new  
@\_flash.sweep  
end

```
      @_flash
    end

```

Thanks!

Andrew
