mirror of
https://github.com/jbranchaud/til
synced 2026-01-08 01:28:02 +00:00
27 lines
740 B
Markdown
27 lines
740 B
Markdown
# Attribute Was
|
|
|
|
When modifying the attributes of an `ActiveRecord` object, you may want to
|
|
know what values the modified attributes used to have. `ActiveRecord` gets
|
|
some handy methods from the `ActiveModel::Dirty` module that allow you to
|
|
check these values out even if the object's attributes were changed before
|
|
you received it (though you are out of luck once it has been saved).
|
|
Just add `_was` onto the end of the attribute in question.
|
|
|
|
```ruby
|
|
>> pokemon.name
|
|
=> "Charizard"
|
|
>> pokemon.name = "Squirtle"
|
|
=> "Squirtle"
|
|
>> pokemon.name
|
|
=> "Squirtle"
|
|
>> pokemon.name_was
|
|
=> "Charizard"
|
|
>> pokemon.save
|
|
...
|
|
=> true
|
|
>> pokemon.name_was == pokemon.name
|
|
=> true
|
|
```
|
|
|
|
[source](http://api.rubyonrails.org/classes/ActiveModel/Dirty.html)
|