Expand _changed?
method defined in ActiveModel::Dirty. You can specify changed attribute value.
Add this gem to your Gemfile
gem 'activemodel-attribute_changed_specification'
Install via bundle
$ bundle
Specify value changes.
user = User.new
user.name = 'Bob'
user.name_changed?(from: nil, to: 'Bob') # => true
user.name_changed?(from: 'Paul', to: 'Bob') # => false
using only from or to
user = User.new
user.name = 'Bob'
user.name_changed?(to: 'Bob') # => true
user.name_changed?(from: 'Paul') # => false
You can still use original _changed?
method.
user = User.new
user.name = 'Bob'
user.name_changed? # => true
- rails >= 3.2