Как использовать уже созданный HTML-шаблон для рельсов - PullRequest
2 голосов
/ 16 июля 2011

Я уже разработал около 3 шаблонов, которые хотел бы использовать, но после изучения рельсов я хочу использовать один из них для веб-приложения. Как я могу использовать шаблон HTML для приложения рельсов?

Прошу, потому что рельсы кажутся разными из-за формата MVC. Так что я не знаю, как мне поступить, разместив нужные файлы в нужном месте.

1 Ответ

5 голосов
/ 16 июля 2011

это руководство должно помочь вам начать работу.

По сути, вы отделяете основную структуру (верхний и нижний колонтитулы) от шаблона и помещаете ее в 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. Больше информации об этом есть в ссылке, которую я предоставил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...