如果我们想根据模板页面更改局部layout,使用content_for即可。
content_for允许模板页面代码放到layout中的任何位置。
比如我们的Rails程序不同的页面有不同的css样式,我们可以在layout里留出位置:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Todo List</title>
<%= stylesheet_link_tag 'application' %>
<%= yield :head %>
</head>
<body>
<div id="container">
<h1>Todo List</h1>
<%= yield %>
</div>
</body>
</html>
[/code]
我们用yield :head来给模板页面某段代码留个"座位",再看页面:
[code]
<% content_for :head do %>
<%= stylesheet_link_tag 'projects' %>
<% end %>
<h2>Projects</h2>
<ul>
<% for project in @projects %>
<li><%= project.name %></li>
<% end %>
[/code]
content_for :head里面的代码将填充layout里的yield :head。
layout+content_for,很灵活吧。
content_for允许模板页面代码放到layout中的任何位置。
比如我们的Rails程序不同的页面有不同的css样式,我们可以在layout里留出位置:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Todo List</title>
<%= stylesheet_link_tag 'application' %>
<%= yield :head %>
</head>
<body>
<div id="container">
<h1>Todo List</h1>
<%= yield %>
</div>
</body>
</html>
[/code]
我们用yield :head来给模板页面某段代码留个"座位",再看页面:
[code]
<% content_for :head do %>
<%= stylesheet_link_tag 'projects' %>
<% end %>
<h2>Projects</h2>
<ul>
<% for project in @projects %>
<li><%= project.name %></li>
<% end %>
[/code]
content_for :head里面的代码将填充layout里的yield :head。
layout+content_for,很灵活吧。

8240

被折叠的 条评论
为什么被折叠?



