mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
First editing pass on "Active Model Basics" guide
Lots of grammar, etc fixes. [ci skip]
This commit is contained in:
parent
4d5060072b
commit
8f9241b076
1 changed files with 12 additions and 11 deletions
|
@ -87,7 +87,7 @@ end
|
|||
### Conversion
|
||||
|
||||
If a class defines `persisted?` and `id` methods, then you can include the
|
||||
`ActiveModel::Conversion` module in that class and call the Rails conversion
|
||||
`ActiveModel::Conversion` module in that class, and call the Rails conversion
|
||||
methods on objects of that class.
|
||||
|
||||
```ruby
|
||||
|
@ -132,7 +132,7 @@ class Person
|
|||
end
|
||||
|
||||
def last_name
|
||||
@last_name
|
||||
@last_nameperson.changes # => {"first_name"=>[nil, "First Name"]}
|
||||
end
|
||||
|
||||
def last_name=(value)
|
||||
|
@ -156,16 +156,17 @@ person.changed? # => false
|
|||
person.first_name = "First Name"
|
||||
person.first_name # => "First Name"
|
||||
|
||||
# returns true if any of the attributes have unsaved changes, false otherwise.
|
||||
# returns true if any of the attributes have unsaved changes.
|
||||
person.changed? # => true
|
||||
|
||||
# returns a list of attributes that have changed before saving.
|
||||
person.changed # => ["first_name"]
|
||||
|
||||
# returns a hash of the attributes that have changed with their original values.
|
||||
# returns a Hash of the attributes that have changed with their original values.
|
||||
person.changed_attributes # => {"first_name"=>nil}
|
||||
|
||||
# returns a hash of changes, with the attribute names as the keys, and the values will be an array of the old and new value for that field.
|
||||
# returns a Hash of changes, with the attribute names as the keys, and the
|
||||
# values as an array of the old and new values for that field.
|
||||
person.changes # => {"first_name"=>[nil, "First Name"]}
|
||||
```
|
||||
|
||||
|
@ -179,7 +180,7 @@ person.first_name # => "First Name"
|
|||
person.first_name_changed? # => true
|
||||
```
|
||||
|
||||
Track what was the previous value of the attribute.
|
||||
Track the previous value of the attribute.
|
||||
|
||||
```ruby
|
||||
# attr_name_was accessor
|
||||
|
@ -187,7 +188,7 @@ person.first_name_was # => nil
|
|||
```
|
||||
|
||||
Track both previous and current value of the changed attribute. Returns an array
|
||||
if changed, else returns nil.
|
||||
if changed, otherwise returns nil.
|
||||
|
||||
```ruby
|
||||
# attr_name_change
|
||||
|
@ -197,7 +198,7 @@ person.last_name_change # => nil
|
|||
|
||||
### Validations
|
||||
|
||||
The `ActiveModel::Validations` module adds the ability to validate class objects
|
||||
The `ActiveModel::Validations` module adds the ability to validate objects
|
||||
like in Active Record.
|
||||
|
||||
```ruby
|
||||
|
@ -225,7 +226,7 @@ person.valid? # => raises ActiveModel::StrictValidationFa
|
|||
|
||||
### Naming
|
||||
|
||||
`ActiveModel::Naming` adds a number of class methods which make the naming and routing
|
||||
`ActiveModel::Naming` adds a number of class methods which make naming and routing
|
||||
easier to manage. The module defines the `model_name` class method which
|
||||
will define a number of accessors using some `ActiveSupport::Inflector` methods.
|
||||
|
||||
|
@ -248,7 +249,7 @@ Person.model_name.singular_route_key # => "person"
|
|||
|
||||
### Model
|
||||
|
||||
`ActiveModel::Model` adds the ability to a class to work with Action Pack and
|
||||
`ActiveModel::Model` adds the ability for a class to work with Action Pack and
|
||||
Action View right out of the box.
|
||||
|
||||
```ruby
|
||||
|
@ -308,7 +309,7 @@ class Person
|
|||
end
|
||||
```
|
||||
|
||||
Now you can access a serialized hash of your object using the `serializable_hash`.
|
||||
Now you can access a serialized hash of your object using the `serializable_hash` method.
|
||||
|
||||
```ruby
|
||||
person = Person.new
|
||||
|
|
Loading…
Reference in a new issue