aboutsummaryrefslogtreecommitdiffstats
path: root/guides/source/upgrading_ruby_on_rails.md
diff options
context:
space:
mode:
authorNick Pellant <nick@nickpellant.com>2014-07-07 12:02:26 +0100
committerNick Pellant <nick@nickpellant.com>2014-07-07 12:02:26 +0100
commit489e531334bc448c88f9b5a74f1bbbcaeb3f067b (patch)
treec642fb0b9947393e1240b3c2f2940df05b87b211 /guides/source/upgrading_ruby_on_rails.md
parent0e7744e55e8528c9fc3b88e98d5e5cdd29651eb0 (diff)
downloadrails-489e531334bc448c88f9b5a74f1bbbcaeb3f067b.tar.gz
rails-489e531334bc448c88f9b5a74f1bbbcaeb3f067b.tar.bz2
rails-489e531334bc448c88f9b5a74f1bbbcaeb3f067b.zip
Add callbacks documentation for upgrading to 4.1.
It is now expected in 4.1 to use an explicit block rather than implicit when setting callbacks through ActiveSupport::Callbacks. This commit highlights this new expectation as part of the upgrading documentation.
Diffstat (limited to 'guides/source/upgrading_ruby_on_rails.md')
-rw-r--r--guides/source/upgrading_ruby_on_rails.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/guides/source/upgrading_ruby_on_rails.md b/guides/source/upgrading_ruby_on_rails.md
index 9c67391e8f..03be99e8f0 100644
--- a/guides/source/upgrading_ruby_on_rails.md
+++ b/guides/source/upgrading_ruby_on_rails.md
@@ -432,6 +432,20 @@ symbol access is no longer supported. This is also the case for
`store_accessors` based on top of `json` or `hstore` columns. Make sure to use
string keys consistently.
+### Explicit block use for `ActiveSupport::Callbacks`
+
+Rails 4.1 now expects an explicit block to be passed when calling
+`ActiveSupport::Callbacks.set_callback`. This change stems from
+`ActiveSupport::Callbacks` being largely rewritten for the 4.1 release.
+
+```ruby
+# Rails 4.1
+set_callback :save, :around, ->(r, block) { stuff; result = block.call; stuff }
+
+# Rails 4.0
+set_callback :save, :around, ->(r, &block) { stuff; result = block.call; stuff }
+```
+
Upgrading from Rails 3.2 to Rails 4.0
-------------------------------------