<%= render :layout => "some_layout" do %>
<p>Some stuff</p>
<% end %>
在“some_layout”中
<%= yield %>
有没有办法检测yield块是否有任何内容?例如:
<% if block_has_content? %>
<%= yield %>
<% else %>
<p>Default content</p>
<% end %>
答案 0 :(得分:1)
我认为您应该查看此文档: http://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for
您可以在某处定义:
<% content_for :some_layout do %>
some content
<% end %>
在代码的其他部分:
<%= content_for(:some_layout) || 'Default content' %>
如果未定义内容:some_layout,则将采用默认值。