Hej, mam problem ze zdefiniowaniem helpera.
Chcę zrobić kod, który generuje mi zakładki (ang. tabs) dla danej części strony. Przykład użycia powinien wg mnie wyglądać jakoś tak (w widoku)
<%- tabs do |t| -%>
<%- t.page "Tytuł pierwszej strony" do |p| -%>
treść pierwszej strony, dowolny kod
<%- end -%>
<%- t.page "Tytuł drugiej strony" do |p| -%>
treść drugiej strony, dowolny kod
<%- end -%>
<%- end -%>
No i kombinowałem w ten sposób, że mam w klasę
class TabBuilder
def page
yield
end
end
a w helperze
def tabs(&b)
yield TabBuilder.new
end
Wyświetla się, zgodnie z przewidywaniami tylko treść bloków przy t.page. Jak dodać do tego kod, by przed każdym yield w TabBuilder#page dodawał tagi HTML? I analogicznie, by na początku i na końcu bloku otwartego jako “tabs do |t|” dokleił tagi HTML?
To powinno działać podobnie do builderów od formularzy ale nie mogę rozgryźć ich kodu źródłowego.
Z góry dzięki, m.