Вопрос

Какой стандартный способ добавить заголовок и нижний колонтитул каждому представлению в приложении Rails?

Это было полезно?

Решение

Если этот файл найден, он будет использоваться.

Приложение / Просмотры / Макеты / Application.html.erb

<!doctype html>
<html>
  <head>
    <!-- stuff -->
  </head>
  <body>
    <!-- this is where content will be rendered -->
    <%= yield %>
  </body>
</html>

В противном случае вы можете позвонить в другой.

# app/controllers/birds_controller.rb
class BirdsController < ApplicationController

  layout :birds   # looks for app/views/layouts/birds.html.erb

  # ...
end

Другие советы

Положите заголовок и нижний колонтитуру в планировку приложения, которые можно найти в Приложение / Просмотры / Макеты / Application.html.erb. Вы, возможно, должны сначала создать этот файл.

Чтобы добавить любой код «Boiterplate» для всех страниц, используйте файл макета. Обычно он находится в приложении / представлениях / макетах /.

Создайте страницу, поскольку вы будете с любыми другими Rails View. В общем, это хорошая идея, чтобы разместить <html>, body, и т. Д. Теги внутри макета, чтобы избежать повторения.

В месте, где вы хотите, чтобы содержание от индивидуальных представлений появится, положить в <% yield %> ярлык. Из-за блочного синтаксиса Ruby's Block And Progliss реализует макеты, это позволит любому представлению, контроллер которого указывает этот макет для «наследует» всей макета и вставить только контент на странице.

Чтобы использовать макет глобально, назовите файл Application.html.erb или укажите опцию Render: Maxout.

Вы найдете файлы макета вашего приложения в app/views/layouts/.

Создайте общее приложение для макета / представления / макеты / .html.erb ', как сказал X1A4. И внутри того, что вы можете создать свой заголовок и нижний колонтитул

Если вы хотите, вы можете сделать это как два частица и вызов внутри файла макета. Но если у вас есть только один макет, вам может не понадобиться

Наличие заголовка и нижнего колонтитула в частных случаях имеют смысл, если у вас 2-3 типов макета (например, для обычных пользователей, администраторы и т. Д.)

и в ваших контроллерах сразу после декларации класса

Класс UsersController <ApplicationController Layout 'Имя макета' end '

ура, самера

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top