это руководство должно помочь вам начать работу.
По сути, вы отделяете основную структуру (верхний и нижний колонтитулы) от шаблона и помещаете ее в view/layout/application.html.erb
. Структура обычно похожа на это:
html
head
body
#header
#content
<%= yield %>
#footer
Каждый контроллер по умолчанию использует свою собственную папку для просмотра файлов. Поэтому представления для контроллера articles
должны находиться в папке view/articles
. И каждое действие использует его HTML-файл.
yield
вставляет файл вида текущего действия в макет. Например, если вы перейдете на /articles/1
, он загрузит view/article/show.html.erb
С помощью rails 3.0.x вы помещаете ресурсы, такие как таблицы стилей, изображения и JS, в папку public
. 3.1 использует папку app/assets/
.
обновлен
Да, у вас есть базовый макет, который одинаков на каждой странице, и раздел, который изменяется на каждой странице. Но, конечно, вы можете использовать различные макеты, если вам нужно. Или вы можете повторно использовать один и тот же файл представления для различных действий.
Если вы используете пути относительно корня (например, «/stylesheets/style.css»), вам не нужно менять ссылку на каждую страницу. У Rails есть несколько хороших помощников:
stylesheet_include_tag 'stylesheet_name'
javascript_include_tag 'script_name'
Вы можете передать несколько имен файлов или добавить некоторые параметры, которые вы можете найти в документации. Мои таблицы стилей собраны в один файл application.css, но если вы хотите хранить их отдельно и загружать только тогда, когда они действительно нужны, вы можете использовать yield
в сочетании с content_for
. Больше информации об этом есть в ссылке, которую я предоставил.