Архитектура приложений Rails
И наконец, контроллер!
Rails-контроллер является логическим центром вашего приложения. Он координирует
взаимодействие между пользователем, представлениями и моделью.
Несмотря на это, Rails справляется с большей долей организации этого взаимодействия
закулисно, а задачи создаваемого вами программного кода концентрируются
Поддержка представления
В Rails представление отвечает за создание либо всей страницы, либо ее части,
отображаемой браузером1. В простейшем виде представление — это фрагмент
HTML-кода, отображающего какой-то заранее заданный текст. Вам же, скорее
всего, захочется включить изменяемое содержимое, созданное контроллером с помощью
командного метода.
Action Pack: представление и контроллер
Если вдуматься, то части MVC — представление и контроллер — очень тесно
взаимосвязаны. Контроллер снабжает представление данными, и он же воспринимает
события от страниц, сгенерированных этим представлением. В силу такого
тесного взаимодействия поддержка представления и контроллера увязана
Active Record
Active Record (Активная запись) — это ORM-уровень, предоставляемый Rails.
Active Record вплотную следует стандартам ORM-модели: таблицы отображаются
в виде классов, строки — в виде объектов, а столбцы — в виде свойств этих объектов.
Отличие от многих других ORM-библиотек состоит в способе конфигурирования.
Объектно-реляционное отображение
Библиотеки ORM представляют таблицы базы данных в виде классов. Если в базе
данных имеется таблица под названием orders (заказы), то наша программа будет
иметь класс, названный Order. Строки этой таблицы соответствуют объектам
класса — конкретный заказ представляется как объект класса Order. В пределах
Программирование, ведущееся вокруг базы данных
Первыми к созданию кода, ориентированного на реляционные базы данных, приступили
специалисты, программирующие на таких процедурных языках, как С
и Кобол. Обычно они встраивали SQL непосредственно в свой код, используя либо
программные строки, либо препроцессор, который конвертировал SQL в исходном
Active Record: поддержка модели Rails
Обычно нам хочется хранить информацию веб-приложений в реляционной базе
лышых. В системах, связанных с вводом заказов, все заказы, элементарные сведения
и подробные данные о клиентах хранятся в таблицах базы данных. Даже
1 приложениях, обычно использующих неструктурированный текст, например
Модели, представления и контроллеры
У Rails есть одна интересная особенность — она накладывает ряд серьезных ограничений
на структуру ваших веб-приложений. Как ни удивительно, но эти ограничения
в значительной мере облегчают создание приложений. Давайте посмотрим,
почему так происходит.
Модели, представления и контроллеры