Active Model Basic Model¶↑
Allows implementing models similar toActiveRecord::Base. IncludesActiveModel::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:
classPersonincludeActiveModel::Modelattr_accessor:name,:ageendperson =Person.new(name:'bob',age:'18')person.name# => "bob"person.age# => "18"
If for some reason you need to run code oninitialize, make sure you callsuper if you want the attributes hash initialization to happen.
classPersonincludeActiveModel::Modelattr_accessor:id,:name,:omgdefinitialize(attributes={})super@omg||=trueendendperson =Person.new(id:1,name:'bob')person.omg# => true
For more detailed information on other functionalities available, please refer to the specific modules included inActiveModel::Model (see below).
Methods
Included Modules