Forum: Ruby on Rails controller failing to read flash

Posted by Andrew C. (Guest)
on 2010-09-02 12:37
(Received via mailing list)
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 <tt>flash["notice"]</tt> to
        # read a notice you put there or <tt>flash["notice"] =
"hello"</tt>
        # to put a new one.
        def flash #:doc:
          if !defined?(@_flash)
            @_flash = session["flash"] || FlashHash.new
            @_flash.sweep
          end

          @_flash
        end


Thanks!

Andrew
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.