Навигация
Поддержка представления
В Rails представление отвечает за создание либо всей страницы, либо ее части,
отображаемой браузером1. В простейшем виде представление — это фрагмент
HTML-кода, отображающего какой-то заранее заданный текст. Вам же, скорее
всего, захочется включить изменяемое содержимое, созданное контроллером с помощью
командного метода.
Изменяемое содержимое в Rails генерируется с помощью шаблонов трех разновидностей.
Самая общая шаблонная схема под названием rhtml включает отрывки
Ruby-кода внутри HTML-представлений, использующие Ruby-инструментарий,
названный ERb (или Embedded Ruby, то есть встроенный Ruby)1. Это очень гибкий
подход, но сторонники чистоты вопроса иногда жалуются, что он нарушает
дух MVC. Встраивая код в представление, мы рискуем привнести в него логику,
которая должна присутствовать в модели или в контроллере. Эта жалоба, по меньшей
мере, необоснованна: представление содержало активный код даже в оригинальной
MVC-архитектуре. Поддержание четкого разделения вещей — это часть
труда разработчика. (Мы рассмотрим HTML-шаблоны в подразделе «Шаблоны
RHTML» раздела 22.1.)
Вторая шаблонная схема, названная rxml, позволяет создавать ХМ L-документы,
используя Ruby-код, — структура сгенерированного XML будет автоматически
следовать за структурой кода. Мы начнем рассмотрение rxml-шаблонов в разделе
22.1, «Шаблоны».
Rails также обеспечивает представления rjs. Они позволяют вам создавать на
сервере JavaScript-фрагменты, исполняемые затем в браузере. Эта технология отлично
подходит для создания динамичных AJAX-интерфейсов. Наш разговор на
эту тему начнется в разделе 23.3, «Шаблоны RJS».