Вид - Разработка модуля для хранения и управления документами в электронном виде

Представления в Ruby on Rails реализованы в виде Erb-шаблонов -- html-файлов со вставками кода на языке Ruby. Дополнительная логика, внедряемая в шаблон, позволяет сделать его динамичным, однако злоупотреблять внесением кода в виды не рекомендуется, т. к. основная задача представления -- отображение состояния модели и вывод интерфейса для взаимодействия с пользователем.

Перед отправкой ответа на запрос пользователя erb-шаблоны проходят процесс рендеринга с помощью встроенного Шаблонизатора ERB (Extended Ruby): выполняется код, внедренный в шаблон, и формируется статичный html-файл, возвращаемый пользователю. Стоит отметить, что помимо встроенного шаблонизатора, можно использовать большое количество альтернативных сторонних продуктов, таких как eRuby, Tenjin и другие.

Как было сказано выше, код шаблона не должен содержать слишком много логики. Но в то же время бывают ситуации, когда большой объем кода необходим. Ruby on Rails представляет эффективный механизм сокращения кода: "помощники" (helpers). Хелпер представляет собой метод, реализуемый программистом в отдельном rb-файле, к которому получают доступ все шаблоны. В общем случае хелпер принимает объект модели и возвращает представлению html-код в виде строки. Это позволяет заменить несколько строк кода, формирующие корректное отображение модели, на вызов одного метода. Помимо повышения удобочитаемости кода реализуется принцип DRY (don't repeat yourself), призывающий избегать повторения кода: один и тот же хелпер зачастую вызывается в разных представлениях.

Похожие статьи




Вид - Разработка модуля для хранения и управления документами в электронном виде

Предыдущая | Следующая