2012-10-11 49 views

回答

17

這取決於你想要做什麼。

爲了使頭部向右走,這樣做:

= content_for :header do 
    %h1 Title 

要存儲內容並在以後使用它,這樣做:

- content_for :header do 
    %h1 Title 

而要在您的視圖(S)的地方使用它:

= content_for :header 

在Rails < 3.2你需要使用= yield :header。這在Rails 3.2中仍然支持,但它在幫助模塊中不起作用,而content_for(謝謝@drewish)。

+0

這在rails 3.2中改變了嗎?現在你想使用'= content_for:header'而不是'= yield:header'? – drewish

+0

看起來你仍然可以同時使用兩個,但'yield'在輔助模塊中不起作用([source](http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for ))。 – gylaz

+0

啊,我錯過了ham中的「do」for content_for。謝謝! –

0

= yield:header雖然沒有廢棄,但已被放到較少的地方使用。雖然Rails 3.2支持這個,但是這個問題發生在helper模塊中。另一方面,content_for確實運行良好,並且是更常用的命令。