модуль ActiveModel::Model
Базовый модель Active Model
Позволяет реализовывать модели, похожие на ActiveRecord::Base. Включает ActiveModel::API для необходимого интерфейса для взаимодействия объекта с Action Pack и Action View, но может быть расширен другими функциональными возможностями.
Минимальная реализация может быть такой:
class Person include ActiveModel::Model attr_accessor :name, :age end person = Person.new(name: 'bob', age: '18') person.name # => "bob" person.age # => "18"
Если по какой-то причине вам нужно выполнить код на initialize, убедитесь, что вы вызываете super если вы хотите, чтобы произошла инициализация хэша атрибутов.
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
Для получения более подробной информации об остальных доступных функциях, пожалуйста, обратитесь к конкретным модулям, включённым в ActiveModel::Model (см. ниже).
Общедоступные методы экземпляров
# File activemodel/lib/active_model/model.rb, line 48
Возвращает хэш заданных методов с их именами в качестве ключей и возвращаемыми значениями в качестве значений.
# File activemodel/lib/active_model/model.rb, line 59
Возвращает массив значений, возвращаемых заданными методами.
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.