2014-02-04 04:27:46 -05:00
|
|
|
* `#to_param` returns `nil` if `#to_key` returns `nil`. Fixes #11399.
|
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2014-01-18 11:34:38 -05:00
|
|
|
* Ability to specify multiple contexts when defining a validation.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
class Person
|
|
|
|
include ActiveModel::Validations
|
|
|
|
|
|
|
|
attr_reader :name
|
|
|
|
validates_presence_of :name, on: [:verify, :approve]
|
|
|
|
end
|
|
|
|
|
|
|
|
person = Person.new
|
|
|
|
person.valid? # => true
|
|
|
|
person.valid?(:verify) # => false
|
|
|
|
person.errors.full_messages_for(:name) # => ["Name can't be blank"]
|
|
|
|
person.valid?(:approve) # => false
|
|
|
|
person.errors.full_messages_for(:name) # => ["Name can't be blank"]
|
|
|
|
|
|
|
|
*Vince Puzzella*
|
|
|
|
|
2014-01-30 05:12:46 -05:00
|
|
|
* `attribute_changed?` now accepts a hash to check if the attribute was
|
|
|
|
changed `:from` and/or `:to` a given value.
|
2013-12-01 23:50:43 -05:00
|
|
|
|
2014-01-30 05:12:46 -05:00
|
|
|
Example:
|
|
|
|
|
|
|
|
model.name_changed?(from: "Pete", to: "Ringo")
|
2013-12-01 23:50:43 -05:00
|
|
|
|
|
|
|
*Tejas Dinkar*
|
|
|
|
|
2013-09-23 14:46:41 -04:00
|
|
|
* Fix `has_secure_password` to honor bcrypt-ruby's cost attribute.
|
|
|
|
|
|
|
|
*T.J. Schuck*
|
|
|
|
|
2013-10-03 10:37:10 -04:00
|
|
|
* Updated the `ActiveModel::Dirty#changed_attributes` method to be indifferent between using
|
2013-01-07 00:04:35 -05:00
|
|
|
symbols and strings as keys.
|
|
|
|
|
|
|
|
*William Myers*
|
|
|
|
|
2013-11-28 11:21:18 -05:00
|
|
|
* Added new API methods `reset_changes` and `changes_applied` to `ActiveModel::Dirty`
|
2013-09-23 09:59:05 -04:00
|
|
|
that control changes state. Previsously you needed to update internal
|
|
|
|
instance variables, but now API methods are available.
|
|
|
|
|
|
|
|
*Bogdan Gusiev*
|
|
|
|
|
2014-01-07 04:59:24 -05:00
|
|
|
* Fix `has_secure_password` not to trigger `password_confirmation` validations
|
|
|
|
if no `password_confirmation` is set.
|
2013-06-25 20:46:21 -04:00
|
|
|
|
|
|
|
*Vladimir Kiselev*
|
|
|
|
|
2013-06-25 20:46:50 -04:00
|
|
|
* `inclusion` / `exclusion` validations with ranges will only use the faster
|
|
|
|
`Range#cover` for numerical ranges, and the more accurate `Range#include?`
|
|
|
|
for non-numerical ones.
|
|
|
|
|
|
|
|
Fixes range validations like `:a..:f` that used to pass with values like `:be`.
|
2013-11-28 11:21:18 -05:00
|
|
|
Fixes #10593.
|
2013-05-28 02:07:05 -04:00
|
|
|
|
|
|
|
*Charles Bergeron*
|
|
|
|
|
2014-01-07 04:59:24 -05:00
|
|
|
* Fix regression in `has_secure_password`. When a password is set, but a
|
2013-05-20 15:13:21 -04:00
|
|
|
confirmation is an empty string, it would incorrectly save.
|
|
|
|
|
|
|
|
*Steve Klabnik* and *Phillip Calvin*
|
|
|
|
|
2013-05-12 23:59:28 -04:00
|
|
|
* Deprecate `Validator#setup`. This should be done manually now in the validator's constructor.
|
|
|
|
|
|
|
|
*Nick Sutterer*
|
2013-02-26 11:45:20 -05:00
|
|
|
|
2013-04-29 12:06:45 -04:00
|
|
|
Please check [4-0-stable](https://github.com/rails/rails/blob/4-0-stable/activemodel/CHANGELOG.md) for previous changes.
|