我正在关注ruby on rails教程,我在用户视图<% provide(:title, 'Sign up') %>
中有以下内容,只是想知道究竟是做什么的?
答案 0 :(得分:3)
这应该回答你的问题:
content_for?
只需使用#content_for
检查是否已捕获任何内容根据视图中的内容,以不同方式呈现部分布局。
实施例
如果没有#content_for:right_column
,也许你会在布局中使用不同的css<%# This is the layout %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>My Website</title>
<%= yield :script %>
</head>
<body class="<%= content_for?(:right_col) ? 'one-column' : 'two-column' %>">
<%= yield %>
<%= yield :right_col %>
提供(name,content = nil,&amp; block)
与content_for相同,但与流式传输一起使用时会直接返回布局。换句话说,如果你想在渲染给定模板时多次连接到同一个缓冲区,你应该使用content_for,如果没有,请使用provide告诉布局停止寻找更多内容。
简答: 在Ruby on Rails教程中,特殊的rails功能提供用于在每个页面上设置不同的标题。根据您所在的static_page,相应地设置标题。 Ruby on Rails教程书中的3.3.3(“嵌入式Ruby”)中给出了进一步的解释。