2012-10-11 7 views

Odpowiedz

17

To zależy od tego, co chcesz zrobić.

do renderowania nagłówek od razu zrobić:

= content_for :header do 
    %h1 Title 

Aby zapisać zawartość i używać go później zrobić:

- content_for :header do 
    %h1 Title 

I go używać gdzieś w widoku (ów):

= content_for :header 

< W Rails 3.2 trzeba było użyć = yield :header. To wciąż jest obsługiwane w Railsach 3.2, ale nie działa w modułach pomocniczych, podczas gdy content_for robi (dzięki @drewish).

+0

Zmieniło się to w szynach 3.2, prawda? Teraz chcesz użyć '= content_for: header' zamiast' = yield: header'? – drewish

+0

Wygląda na to, że nadal możesz używać obu, ale 'yield' nie działa w modułach pomocniczych ([źródło] (http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for)). – gylaz

+0

Ah, brakowało mi "do" w haml dla content_for. Dzięki! –

0

= Wydajność: nagłówek, chociaż nie jest przestarzały, został mniej wykorzystany. Chociaż Rails 3.2 obsługuje to, ale problem występuje w modułach pomocniczych. content_for, z drugiej strony działa dobrze i jest częściej używanym poleceniem.