czy znacie jakiś dobry manual z zastosowaniem yielda? Bo dokumentacja railsów mówi tylko tyle: http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html
Chciałbym na przykład wiedzieć, czy jest możliwość sprawdzenia, czy istnieje jakiś yield. W layoucie chcę mieć jakiś div wrapper w okół yielda danego, ale tylko wtedy gdy takowy istnieje.
Tak w kwestiach terminologicznych - nie ma sensu mówić o “istnieniu yeilda” Jak już to można zastanawiać się, czy do jakiejś metody został przekazany blok, który może być wywołany (za pomocą słowa kluczowego yield).
[/code]
To jest przykładowy layout, mam tam yield :info które siedzi w divie "left". Chciałbym, żeby po wyrenderowaniu strony, jeżeli nie przekazano nic za pomocą
[code=RUBY]<% content_for :info do %>
Cośtam
<% end %>[/code]
nie został w ogóle umieszczony w jej kodzie div "left".
Mam nadzieję, że to wyjaśnienie lepiej przedstawia o co mi chodzi
EDIT:
Przyszło mi do głowy, że mógłbym chyba sprawdzić za pomocą @content_for_info.nil? Ale zastosowanie tej zmiennej jest depracated…
def info
content = yield(:info)
unless content.blank?
content_tag(:div, content, :id => "left")
end
end
I taka pedantyczna uwaga co do html/css. Nie powinno się w dokumencie stosować nazw typu left/right, bo po to się używa cssa, żeby móc łatwo pozmieniać wygląd bez ingerencji w htmla. I się okaże, że taki right ma być po lewej, a left po prawej, to będzie bajzel