content_forDrobny przykład.
Załóżmy, że na panelu bocznym jest standardowe menu aplikacji. Zasadniczo spełnia ono wszystkie pokładane w nim nadzieje oprócz menu dla usera, które jako jedyne wymaga zmiany hasła. Dobrze by było więc aby podczas operacji dotyczącej użytkownika w panu pojawiała się dodatkowo opcja "zmiana hasła".
W panelu bocznym standardowo menu wygląda tak:
<ul> <li>klienci</li> <li>płatności</li> . . ...a tu dodatkowe opcje menu w zależności od kontekstu... </ul>Zamiast łapać się prawą ręką za lewe ucho użyjmy standardowych mechanizmów Rails.
W rzeczonym szablonie umieszczamy zajawkę:
<ul> <li>klienci</li> <li>płatności</li> . . <%= yield :new_options %> </ul>
zaś w dowolnym pliku *.html.erb używamy content_for:
<% content_for :new_options do %> <li>zmień hasło</li> <li>sprawdź email</li> <% end %>
Dzięki temu zapisowi dwie nowe pozycje znajdą się w menu panela bocznego.
Oczywiście w głównym szablonie aplikacji może być więcej nazwanych bloków yield, które będą mogły być wypełniane w zależności od okoliczności. Bardzo wygodne, proste i łatwe.
Po więcej informacji sięgnij do tutoriala Layouty i Renderowanie w Ruby on Rails
Brak komentarzy:
Prześlij komentarz