在轨道上的ruby中嵌套布局

Cha*_*lie 12 ruby-on-rails

我是rails的新手,我正试图弄清楚如何使嵌套布局工作; 我假设他们有点像.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>
Run Code Online (Sandbox Code Playgroud)

并将我现有的一个布局修改为:

<% content_for :stylesheets do %>

<% end -%>

<% content_for :content do %>
  <p style="color: green"><%= flash[:notice] %></p>
  <%= yield %>
<% end -%>

<% render :file => 'layouts/application' %>
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中查看我的一个视图时,绝对没有任何内容呈现; 当我查看源代码时没有html.

我确定我错过了一些基本的东西,有人能说出来吗?!

Cha*_*lie 29

我已经找到了解决方案,虽然这不是本文给出的内容

我已经更换了这条线

<% render :file => 'layouts/application' %>
Run Code Online (Sandbox Code Playgroud)

<%= render :file => 'layouts/application' %>
Run Code Online (Sandbox Code Playgroud)

我不确定这篇文章是错的,还是我发现错误的修复方法!请告诉我!

干杯