Movatterモバイル変換


[0]ホーム

URL:


Skip to ContentSkip to Search
Ruby on Rails 8.1.1

Module ActiveModel::Model

v8.1.1

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
S
V
Included Modules

Instance Public methods

slice(*methods)Link

Returns a hash of the given methods with their names as keys and returned values as values.

person =Person.new(id:1,name:"bob")person.slice(:id,:name)# => { "id" => 1, "name" => "bob" }

Source:on GitHub

# File activemodel/lib/active_model/model.rb, line 48

values_at(*methods)Link

Returns an array of the values returned by the given methods.

person =Person.new(id:1,name:"bob")person.values_at(:id,:name)# => [1, "bob"]

Source:on GitHub

# File activemodel/lib/active_model/model.rb, line 63

[8]ページ先頭

©2009-2025 Movatter.jp