Ruby on Rails 3: Введение в ActiveRecord
февраля 9, 2012 | Published in Ruby on Rails, Ruby on Rails 3 | 8 Comments
RubyDev — ваш друг в изучении Ruby и Rails!
В этой главе вы узнаете более подробно о том, что такое модель, чем занимается ActiveRecord входящий в состав Ruby on Rails, что такое ORM и что такое миграции.
Что такое модель?
Из предыдуших глав или из своего опыта разаботки на других языках программирования и платформах вы уже должно быть знаете, что такое модель, но я вынужден повториться:
Модель — это часть приложения, которая непосредственно работает с данными, то есть хранит бизнес-логику приложения.
В Ruby on Rails модельная прослойка реализована в виде модуля ActiveRecord. ActiveRecord предоставляет паттерн ORM для работы с записями в базе данных и не только ORM.
Что такое ORM?
ORM (Object Relation Mapping) — паттерн проектирования, который сводится к достаточно простой вещи — представлению записей в виде объектов.
Что такое ActiveRecord?
ActiveRecord — это фреймворк для работы с реляционными базами данных (MySQL, PostgreSQL, SQLite и т.д.). ActiveRecord реализует в себе не только паттерн ORM, но и миграции, валидацию, обратные вызовы (коллбеки), паттерн «Наблюдатель», ассоциации между записями и много-много чего еще.
В приложении на Ruby on Rails модели хранятся в директории app/models вашего приложения в файлах, что носят имена соответствующие именам классов-моделей: Post -> app/models/post.rb.
Модель в случае использования ActiveRecord представляет собой класс наследуемый от класса — интерфейса ActiveRecord::Base, например:
class Post < ActiveRecord::Base end
Приведенный выше пример модели наследуясь от класса ActiveRecord::Base наследует от него всю мощь ActiveRecord, по этому приведенные выше две строки кода уже умеют делать очень многое!
Что такое миграции?
Миграции — это файлы в которых описывается структура базы данных. Каждый раз, когда вы используете генератор для создания ActiveRecord модели — вы создаете и соответствующий ей файл миграции. Вы можете создавать миграции отдельно от моделей, например, когда вам необходимо добавить или удалить поля в уже существующей таблице.
Миграции очень удобны для создания и редактирования и управления структурой базы данных. Миграции позволяют абстрагироваться от базы данных и использовать код написанный на изящном Ruby для определения схемы базы данных. Кроме того миграции упрощают разворачивание вашего проекта на сервере и позволяют всего одной командой создать все необходимые для работы приложения таблицы в базе данных.
Лучшая благодарность автору — ваши комментарии и популяризация ресурса! Спасибо всем за внимание к проекту и моральную поддержку его автора. Не забывайте о нашей группе во Вконтакте: !
февраля 10, 2012 at 06:53 (#)
Хотелось бы таких статей не видеть. Ибо этого хлама и так много. Зачем документацию своими словами переписывать?
февраля 10, 2012 at 21:18 (#)
Павел, учебник должен быть полным потому без таких простых статей не обойтись. Кроме того в туториалах нет некоторых моментов.
февраля 13, 2012 at 12:49 (#)
согласен с павлом. как собаке пятая нога такие статьи нужны
марта 17, 2012 at 16:58 (#)
Для человека который видит руби в первый раз эта статья то что надо, помагает разобратся с основами. Желатьлно канешн побольше примеров каких нибуть.
мая 2, 2012 at 11:52 (#)
to Павел, omg
идите в жопу мегаРубиПапки!
Автору спасибо
августа 25, 2012 at 22:28 (#)
Я только начинаю вникать в руби, и рельсы, могу сказать что подобные статьи помогают усвоить и закрепить новую информацию. Поэтому не соглашусь с «критиками», публикация полезная
декабря 9, 2012 at 15:45 (#)
Спасибо за статьи.
февраля 21, 2014 at 08:58 (#)
Мне понравилась статья, но показалась короткой. Хоть понял, что это такое. Спасибо.