Browse files

docs, flash message keys are normalized to strings. [ci skip]

This is a follow up to a668bef
  • Loading branch information...
1 parent 54a120e commit 8d486c63d63eeb503fd18be615d5dd26dfa34fb5 @senny senny committed Mar 5, 2014
Showing with 20 additions and 0 deletions.
  1. +20 −0 guides/source/upgrading_ruby_on_rails.md
View
20 guides/source/upgrading_ruby_on_rails.md
@@ -111,6 +111,26 @@ in your application, you can add an initializer file with the following content:
This would transparently migrate your existing `Marshal`-serialized cookies into the
new `JSON`-based format.
+### Flash structure changes
+
+Flash message keys are
+[normalized to strings](https://github.com/rails/rails/commit/a668beffd64106a1e1fedb71cc25eaaa11baf0c1). They
+can still be accessed using either symbols or strings. Lopping through the flash
+will always yield string keys:
+
+```ruby
+flash["string"] = "a string"
+flash[:symbol] = "a symbol"
+
+# Rails < 4.1
+flash.keys # => ["string", :symbol]
+
+# Rails >= 4.1
+flash.keys # => ["string", "symbol"]
+```
+
+Make sure you are comparing Flash message keys against strings.
+
### Changes in JSON handling
There are a few major changes related to JSON handling in Rails 4.1.

0 comments on commit 8d486c6

Please sign in to comment.