module Model
Ruby on Rails 7.1.6
Since v4.0.13Active Model Basic Model
Allows implementing models similar to ActiveRecord::Base. Includes ActiveModel::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 ActiveModel::Model (see below).
Includes
Extends
Methods (defined here)
Used by
Included by (1)
Methods (inherited)
From ActiveModel::API
(2)
- # persisted?
- self. new
From ActiveSupport::Concern
(3)
- # class_methods
- # included
- # prepended
From ActiveModel::AttributeAssignment
(2)
From ActiveModel::Conversion
(5)
- # to_key
- # to_model
- # to_param
- # to_partial_path
- self. param_delimiter
From ActiveModel::Naming
(7)
- # model_name
- self. param_key
- self. plural
- self. route_key
- self. singular
- self. singular_route_key
- self. uncountable?
From ActiveModel::Translation
(3)
From ActiveModel::Validations
(7)
- # errors
- # invalid?
- # valid?
- # validate
- # validate!
- # validates_with
- # validation_context
From ActiveModel::Callbacks
(1)
From ActiveModel::Validations::HelperMethods
(11)
From ActiveSupport::Callbacks
(1)
From ActiveSupport::DescendantsTracker
(4)
- # descendants
- # subclasses
- self. descendants
- self. subclasses