Module: ActiveModel::Model
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
ActionText::Attachables::ContentAttachment,
::ActionText::AttachmentGallery
| |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Defined in: | activemodel/lib/active_model/model.rb |
Overview
Active Model Basic Model
Allows implementing models similar to ::ActiveRecord::Base
. Includes API
for the required interface for an object to interact with Action Pack and Action View, but can be extended with other functionalities.
A minimal implementation could be:
class Person
include ActiveModel::Model
attr_accessor :name, :age
end
person = Person.new(name: 'bob', age: '18')
person.name # => "bob"
person.age # => "18"
If for some reason you need to run code on initialize
, make sure you call super
if you want the attributes hash initialization to happen.
class Person
include ActiveModel::Model
attr_accessor :id, :name, :omg
def initialize(attributes={})
super
@omg ||= true
end
end
person = Person.new(id: 1, name: 'bob')
person.omg # => true
For more detailed information on other functionalities available, please refer to the specific modules included in Model
(see below).
Class Method Summary
Naming
- self
param_key | Returns string to use for params names. |
plural | Returns the plural class name of a record or class. |
route_key | Returns string to use while generating route names. |
singular | Returns the singular class name of a record or class. |
singular_route_key | Returns string to use while generating route names. |
uncountable? | Identifies whether the class name of a record or class is uncountable. |
::ActiveSupport::Concern
- Extended
class_methods | Define class methods from given block. |
included | Evaluate given block in context of base class, so that you can write class macros here. |
prepended | Evaluate given block in context of base class, so that you can write class macros here. |
Instance Attribute Summary
API
- Included
#_validators, #_validators?, | |
#persisted? | Indicates if the model is persisted. |
Validations
- Included
#validation_context | Returns the context when running validations. |
AttributeAssignment
- Included
Instance Method Summary
API
- Included
#initialize | Initializes a new model with the given |
Conversion
- Included
#to_key | Returns an |
#to_model | If your object is already designed to implement all of the Active Model you can use the default |
#to_param | Returns a |
#to_partial_path | Returns a |
Validations
- Included
#errors | Returns the |
#freeze, | |
#invalid? | Performs the opposite of |
#read_attribute_for_validation | Hook method defining how an attribute value should be retrieved. |
#valid? | Runs all the specified validations and returns |
#validate | Alias for Validations#valid?. |
#validate! | Runs all the validations within the specified context. |
#validates_with | Passes the record off to the class or classes specified and allows them to add errors based on more complex conditions. |
#raise_validation_error |
AttributeAssignment
- Included
#assign_attributes | Allows you to set all the attributes by passing in a hash of attributes with keys matching the attribute names. |
#attribute_writer_missing | Like |