Active Record
Active Record (Активная запись) — это ORM-уровень, предоставляемый Rails.
Active Record вплотную следует стандартам ORM-модели: таблицы отображаются
в виде классов, строки — в виде объектов, а столбцы — в виде свойств этих объектов.
Отличие от многих других ORM-библиотек состоит в способе конфигурирования.
Полагаясь на соглашение и изначально имея оптимальные установки по
умолчанию, Active Record сводит к минимуму количество конфигурационных
установок, осуществляемых разработчиками. В качестве иллюстрации приведем
пример программы, использующей Active Record для отображения нашей таблицы
заказов в виде класса.
require 'active_record'
class Order < ActiveRecord::Base
end
order = Order.find(l)
order.discount = 0.5
order.save
В этом коде используется новый класс Order для получения заказа с идентификатором
(i d), равным 1, и изменения скидки. (В данном примере код, устанавливающий
подключение к базе данных, опущен.) Active Record освобождает нас
от беспокойств, связанных с операциями над основной базой данных, позволяя
свободно работать над бизнес-логикой.
Но Active Record способна и на большее. Вы убедитесь в этом, как только мы
приступим в главе 5 к разработке нашего приложения по обслуживанию покупательской
корзины. Active Record составляет единое целое со всей остальной средой
выполнения Rails. Если веб-форма посылает прикладные данные, относящиеся
к бизнес-объекту, Active Record может извлечь их в нашу модель. Active
Record поддерживает усовершенствованную проверку правильности данных модели,
и, если форма ввода данных не справится с их проверкой, Rails способна извлечь
и отформатировать ошибки, используя всего лишь одну строчку кода.
Active Record является надежной модельной основой MVC-архитектуры Rails.
Вот почему мы посвятили ей целых три главы.