在Rails中,content_for
和yield
用于在模板中插入动态内容,但它们的使用方式有所不同。
content_for
是一个方法,用于在多个yield
块中分发同一块内容。它通常用于在模板中复用内容,例如将头部和尾部模板内容存储在单个块中,然后根据需要将它们分配给不同的页面。
例如:
# 在application.html.erb中定义头部和尾部模板
<head>
<title>My Website</title>
</head>
<body>
<%= content_for :head %>
<%= yield %>
<%= content_for :tail %>
</body>
在上面的示例中,content_for :head
将渲染application.html.erb
文件中的<head>
部分,而yield
将渲染application.html.erb
文件中的主体部分。
content_for
方法接受一个参数,即要插入的内容,该内容在多个yield
块中将被替换为相应的值。
总的来说,content_for
和yield
都可以用于在模板中插入动态内容,但content_for
更适用于在多个块中复用同一块内容的情况,而yield
则更适用于在单个块中插入动态内容的情况。
领取专属 10元无门槛券
手把手带您无忧上云