试图找出提供的功能

时间:2013-02-06 20:19:07

标签: ruby-on-rails

我正在关注ruby on rails教程,我在用户视图<% provide(:title, 'Sign up') %>中有以下内容,只是想知道究竟是做什么的?

1 个答案:

答案 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”)中给出了进一步的解释。