有什麼方法可以檢測#content_for
是否實際應用於Rails中的yield
作用域?Rails 3:yield/content_for有一些默認值?
一個典型的例子中是這樣的:
<title><%= yield :page_title %></title>
如果模板不設置與
<% content_for :page_title, "Something here" %>
有沒有一種方法,以使佈局把別的東西,而不是有?
我試圖用#content_for
在佈局中定義它,但這只是使文本翻倍。我也試過:
<%= (yield :page_title) or default_page_title %>
凡#default_page_title
是一個視圖助手。
這只是將塊完全留空。
你肯定能! :) 謝謝。 – d11wtq 2011-05-07 16:12:08
content_for?(:title)|| '這是一個默認的標題'是更短的和工作;)以及:content_for:page_title,'Awesome Page' – alex 2014-01-21 11:37:30
'<%= yield(:title).presence || '默認標題'%>'是更好的解決方法。 – 2015-07-16 13:14:59