Szablony dla Railsów

Opublikowane przez Jarosław Zabiełło Thu, 22 Mar 2007 02:05:00 GMT

Tak ostatnio zrobiłem sobie przegląd szablonów do Railsów i sytuacja wygląda dosyć ciekawie. Standardowo Rails korzysta z 3 typów szablonów.

  • ERb – dla plików z końcówką .rhtml, podstawowe szablony zagnieżdżające Rubiego w HTML. Generują oczywiście kod HTML.
  • RXML – do generowanie kodu XML, np. dla kanałów RSS. Właściwie to trudno nazwać je szablonami bo ich składnia to 100% kod Rubiego wykorzystujący bibliotekę Builder.
  • RJS – do generowania kodu JavaScript i do Ajaksa. To też nie jest jakaś inna składnia. To czysty Ruby.

Pomijając RXML i RJS, można użyć dodatkowych szablonów dostępnych poprzez system pluginów do Railsów. Co ciekawe, w niektórych przypadkach, nie trzeba wszystkiego wymieniać, można je stosować obok starych szablonów. Tak robię w wypadku szablonów Haml. Po prostu jak dodam plik z rozszerzeniem .haml to Rails użyje jego zamiast pliku z końcówką .rhtml. W niczym to oczywiście nie przeszkadza. Można w ten sposób łatwo i przyjemnie, krok po kroku, wymienić szablony tam, gdzie mamy ochotę.

  • Erubis – dużo szybsza wersja ERb, powinny zastąpić standardowe ERb.
  • Haml – moje ulubione, opisywałem już je wczesniej
  • MarkabyHTML budowany w czystym Ruby
  • MasterView – zgodne z XML, przypominają miejscami składnię używaną przez ASP.NET
  • Liquid – wzorowane na Django, ale o mniejszych możliwościach (np. nie mają dziedziczenia)

Na koniec słowo opdnośnie aktualizacji Rubiego.

Osoby chcące używać nowego Ruby 1.8.6 muszą zaktualizować Rails do 1.2.3. Z pewnymi problemami udało mi się jednak zaktualizować kod dla bloga i mojej strony domowej. Jeśli ktoś używa szablonów Haml i pluginu Globalize, to musi uważać. W Globalize, do tabeli globalize_translations, dodano nowe pole namespace o typie VARCHAR. Musi ono tam być, bo inaczej plugin źle działa. Z kolei nowy Haml odrzucał skrócony zapis div’ów (za pomocą kropki) Musiałem poprawić szablon.

Tagi ,  | 1 comment

Comments

  1. Avatar Jarosław Zabiełło powiedział about 1 year later:

    Tu jest lista 19 różnych bibliotek do Rubiego.

(leave url/email »)

   Pomoc języka formatowania Obejrzyj komentarz