Временные платформы Rails
За весьма краткий начальный период реализации проекта мы забежали далеко
вперед, поэтому потратим немного времени на более подробное осмысление нашего
последнего шага.
Временная платформа Rails — scaffold — представляет собой автоматически
генерируемую среду управления моделью.
При запуске приложения модель проверяет таблицу базы данных, определяет,
какие столбцы в ней имеются, и создает отображение имеющихся в базе данных
в объектах Ruby. Именно поэтому форма New product (Новый товар) возникает
с готовыми полями title (наименование), description (описание) и image (изображение)
— они были добавлены в модель, поскольку уже существовали в таблице базы
данных. Генератор формы, созданный временной платформой (scaffold), способен
извлечь информацию об этих полях из модели и использовать результаты
своих исследований для создания соответствующей HTML-формы.
Контроллеры занимаются обработкой поступающих из браузера входящих запросов.
У одного приложения может быть несколько контроллеров. В нашем
приложении интернет-магазина (Depot) мы, скорее всего, ограничимся двумя.
Один будет обрабатывать администрирование веб-сайта со стороны продавца,
а другой — действия покупателей. Мы создали временную платформу по учету товара в контроллере Admin, поэтому URL, который к ней обращается, и содержит начальный элемент admin.
_________________________________________________________
ДЭВИД ГОВОРИТ...
Будем ли мы все-таки заменять все временные платформы чем-нибудь другим?
В большинстве случаев — да. Временные платформы вовсе не претендуют на звание окончательного
варианта разработки приложений. Это всего лишь вспомогательное средство, используемое
при их создании.
Как только у вас выработался замысел того, как работать с перечнем товаров, вы тут же полагаетесь
на сгенерированные временной платформой действия по созданию, редактированию
и удалению записей. Затем, основываясь на уже имеющихся действиях, вы заменяете сгенерированные
функциональные возможности более совершенными. И так далее, и тому подобное.
Хотя иногда хватает и тех функций, которые предоставляются временными платформами. Когда
вы интересуетесь моментальным созданием интерактивного интерфейса с моделью в качестве
составной части служебного интерфейса, то вас вряд ли смутит их скромный вид. Но это скорее
исключение из правил. Не ждите, что сейчас (или вообще когда-нибудь) создание временных
платформ заменить ваш труд программиста.
_________________________________________________________
При создании Rails-приложений временные платформы применяются далеко
не всегда, скорее всего, по мере накопления опыта, вы станете пользоваться ими
все реже и реже. Временная платформа может служить лишь отправной точкой
и не должна рассматриваться как законченное приложение. Здесь уместна аналогия
со строительными объектами: временные леса помогают рабочим возводить
здание, и они разбираются еще до вселения жильцов.
Воспользуемся переходным характером временных платформ при подходе
к следующему шагу в создании нашего проекта.