gpt4 book ai didi

ruby-on-rails - rails 3 : yield/content_for with some default value?

转载 作者:数据小太阳 更新时间:2023-10-29 06:20:17 25 4
gpt4 key购买 nike

有什么方法可以检测 #content_for 是否实际应用于 Rails 中的 yield 范围?

一个经典的例子是这样的:

<title><%= yield :page_title %></title>

如果模板没有设置

<% content_for :page_title, "Something here" %>

有没有办法让布局把其他东西放在那里?

我尝试在布局本身中使用 #content_for 定义它,但这只会导致文本加倍​​。我也试过:

<%= (yield :page_title) or default_page_title %>

#default_page_title 是 View 助手。

这只是让 block 完全空了。

最佳答案

您可以使用 content_for? 来检查是否有具有特定名称的内容:

<% if content_for?(:page_title) %>
<%= yield(:page_title) %>
<% else %>
<%= default_page_title %>
<% end %>

<%= content_for?(:page_title) ? yield(:page_title) : default_page_title %>

然后在您的 View 中,您可以指定如下内容

<% content_for :page_title do %>
Awesome page
<% end %>

关于ruby-on-rails - rails 3 : yield/content_for with some default value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com