提交 f31ea4df 编写于 作者: J John Foley

Add CHANGELOG entry and update the guide

上级 60c65ca8
## Rails 4.0.0 (unreleased) ##
* Allow before and after validations to take an array of lifecycle events
*John Foley*
* Support for specifying transaction isolation level
If your database supports setting the isolation level for a transaction, you can set
......
......@@ -995,6 +995,25 @@ class User < ActiveRecord::Base
end
```
Callbacks can also be registered to only fire on certain lifecycle events:
<ruby>
class User < ActiveRecord::Base
before_validation :normalize_name, :on => :create
# :on takes an array as well
after_validation :set_location, :on => [ :create, :update ]
protected
def normalize_name
self.name = self.name.downcase.titleize
end
def set_location
self.location = LocationService.query(self)
end
end
</ruby>
It is considered good practice to declare callback methods as protected or private. If left public, they can be called from outside of the model and violate the principle of object encapsulation.
Available Callbacks
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册