<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Jaros&#322;aw Zabie&#322;&#322;o - BLOG: Szablony dla Rails&#243;w</title>
    <link>http://blog.zabiello.com/articles/2007/03/22/rails-templates</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>Szablony dla Rails&#243;w</title>
      <description>&lt;p&gt;Tak ostatnio zrobi&#322;em sobie przegl&#261;d szablon&#243;w do Rails&#243;w i sytuacja wygl&#261;da dosy&#263; ciekawie.  Standardowo Rails korzysta z 3 typ&#243;w szablon&#243;w.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;ERb &amp;#8211; dla plik&#243;w z ko&#324;c&#243;wk&#261; .rhtml, podstawowe szablony zagnie&#380;d&#380;aj&#261;ce Rubiego w &lt;span class="caps"&gt;HTML&lt;/span&gt;. Generuj&#261; oczywi&#347;cie kod &lt;span class="caps"&gt;HTML&lt;/span&gt;.&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;RXML&lt;/span&gt; &amp;#8211; do generowanie kodu &lt;span class="caps"&gt;XML&lt;/span&gt;, np. dla kana&#322;&#243;w &lt;span class="caps"&gt;RSS&lt;/span&gt;. W&#322;a&#347;ciwie to trudno nazwa&#263; je szablonami bo ich sk&#322;adnia to 100% kod Rubiego wykorzystuj&#261;cy bibliotek&#281; Builder.&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;RJS&lt;/span&gt; &amp;#8211; do generowania kodu JavaScript i do Ajaksa. To te&#380; nie jest jaka&#347; inna sk&#322;adnia. To czysty Ruby.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Pomijaj&#261;c &lt;span class="caps"&gt;RXML&lt;/span&gt; i &lt;span class="caps"&gt;RJS&lt;/span&gt;, mo&#380;na u&#380;y&#263; dodatkowych szablon&#243;w dost&#281;pnych poprzez system plugin&#243;w do Rails&#243;w. Co ciekawe, w niekt&#243;rych przypadkach, nie trzeba wszystkiego wymienia&#263;, mo&#380;na je stosowa&#263; &lt;strong&gt;obok&lt;/strong&gt;  starych szablon&#243;w. Tak robi&#281; w wypadku szablon&#243;w Haml. Po prostu jak dodam plik z rozszerzeniem .haml to Rails u&#380;yje jego zamiast pliku z ko&#324;c&#243;wk&#261; .rhtml. W niczym to oczywi&#347;cie nie przeszkadza. Mo&#380;na w ten spos&#243;b &#322;atwo i przyjemnie, krok po kroku, wymieni&#263; szablony tam, gdzie mamy ochot&#281;.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.kuwata-lab.com/erubis/"&gt;Erubis&lt;/a&gt;  &#8211; du&#380;o szybsza wersja ERb, powinny zast&#261;pi&#263; standardowe ERb.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://haml.hamptoncatlin.com/"&gt;Haml&lt;/a&gt;  &amp;#8211; moje ulubione, &lt;a href="http://blog.zabiello.com/articles/2007/01/27/haml-nast%C4%99pna-generacja-szablon%C3%B3w"&gt;opisywa&#322;em ju&#380; je wczesniej&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://rubyforge.org/projects/markaby/"&gt;Markaby&lt;/a&gt; &amp;#8211;  &lt;span class="caps"&gt;HTML&lt;/span&gt; budowany w czystym Ruby&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://masterview.org/"&gt;MasterView&lt;/a&gt; &#8211; zgodne z &lt;span class="caps"&gt;XML&lt;/span&gt;, przypominaj&#261; miejscami sk&#322;adni&#281; u&#380;ywan&#261; przez &lt;span class="caps"&gt;ASP&lt;/span&gt;.NET &lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.liquidmarkup.org/"&gt;Liquid&lt;/a&gt;  &#8211; wzorowane na &lt;a href="http://www.djangoproject.com/documentation/templates/"&gt;Django&lt;/a&gt;, ale o mniejszych mo&#380;liwo&#347;ciach (np. nie maj&#261; dziedziczenia)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Na koniec s&#322;owo opdno&#347;nie aktualizacji Rubiego.&lt;/p&gt;


	&lt;p&gt;Osoby chc&#261;ce u&#380;ywa&#263; nowego Ruby 1.8.6 musz&#261; zaktualizowa&#263; Rails do 1.2.3. Z pewnymi problemami uda&#322;o mi si&#281; jednak zaktualizowa&#263; kod dla bloga i mojej strony domowej. Je&#347;li kto&#347; u&#380;ywa szablon&#243;w Haml i pluginu Globalize, to musi uwa&#380;a&#263;. W Globalize, do tabeli &lt;em&gt;globalize_translations&lt;/em&gt;, dodano nowe pole &lt;em&gt;namespace&lt;/em&gt; o typie &lt;acronym title="255"&gt;VARCHAR&lt;/acronym&gt;. Musi ono tam by&#263;, bo inaczej plugin &#378;le dzia&#322;a.  Z kolei nowy Haml odrzuca&#322; skr&#243;cony zapis div&amp;#8217;&#243;w (za pomoc&#261; kropki) Musia&#322;em poprawi&#263; szablon.&lt;/p&gt;</description>
      <pubDate>Thu, 22 Mar 2007 03:05:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:13808618-8b9f-48ab-9e40-7135088f0dec</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2007/03/22/rails-templates</link>
      <category>rails</category>
      <category>templates</category>
    </item>
    <item>
      <title>"Szablony dla Rails&#243;w" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Tu jest lista &lt;a href="http://www.hokstad.com/mini-reviews-of-19-ruby-template-engines.html" rel="nofollow"&gt;19 r&#243;&#380;nych bibliotek&lt;/a&gt; do Rubiego.&lt;/p&gt;</description>
      <pubDate>Sat, 19 Apr 2008 22:19:29 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:d8fa9db5-4f91-4afe-9b62-f123e3be4b83</guid>
      <link>http://blog.zabiello.com/articles/2007/03/22/rails-templates#comment-1577</link>
    </item>
  </channel>
</rss>
