0
<%= 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 %>
4

1 に答える 1

1

このドキュメントをご覧になる必要があると思います: http://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for

どこかで定義できます:

 <% content_for :some_layout do %>
     some content
 <% end %>

そして、あなたのコードの他の部分で:

<%= content_for(:some_layout) || 'Default content' %>

:som​​e_layout のコンテンツが定義されていない場合は、デフォルトのコンテンツが使用されます。

于 2013-02-08T00:35:11.203 に答える