module Model
Ruby on Rails 7.2.3
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 (3)
- # descendants
- self. descendants
- self. subclasses