Вложенные макеты в рубине на рельсах
Я новичок в рельсах, и я пытаюсь разобраться, как работать вложенные макеты; Я предполагаю, что они немного похожи на главные страницы .net?
Я следил за это руководство, и я создал файл application.erb.html в моем каталоге макетов, который содержит следующее:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title><%= @page_title or 'Page Title' %></title>
<%= stylesheet_link_tag 'layout' %>
<style type="text/css"><%= yield :stylesheets %></style>
</head>
<body>
<%= yield(:content) or yield %>
</body>
</html>
и изменили один из моих существующих макетов:
<% content_for :stylesheets do %>
<% end -%>
<% content_for :content do %>
<p style="color: green"><%= flash[:notice] %></p>
<%= yield %>
<% end -%>
<% render :file => 'layouts/application' %>
Когда я перехожу к одному из своих просмотров в браузере, абсолютно ничего не отображается; когда я рассматриваю источник, нет html.
Я уверен, что есть что-то элементарное, которое я пропустил, может кто-нибудь указать на это, пожалуйста?!
Ответы
Ответ 1
Я разработал решение, хотя это не то, что указано в в этой статье
Я заменил эту строку
<% render :file => 'layouts/application' %>
с
<%= render :file => 'layouts/application' %>
Я не уверен, что статья неправильная, или я нашел неправильный способ ее исправить! Пожалуйста, дайте мне знать!
Приветствия
Ответ 2
В оригинальной статье произошла ошибка, и ваше решение верное. Вот почему:
Вывод кода ruby в ERB (представление), который заключен в <% =% > , добавляется в HTML, который сгенерирован и отправлен в браузер. Вывод кода ruby, который заключен в <%% > , не добавляется в HTML. Поэтому вызов <% render: partial...% > не имеет эффекта, так как результат этого рубинового кода (выборка частичного) не добавляется в сгенерированный HTML файл.
<%% > обычно зарезервирован для условных обозначений и циклов, как в приведенном выше примере.
Ответ 3
Вот другой подход к вложенным макетам, которые могут оказаться полезными.