<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Klaus Paiva &#187; Ruby on Rails</title>
	<atom:link href="http://blog.klaus.pro.br/tags/ruby-on-rails/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.klaus.pro.br</link>
	<description>Idéias e desventuras de Klaus Paiva</description>
	<lastBuildDate>Mon, 12 Jul 2010 20:26:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ambiente Rails no Ubuntu</title>
		<link>http://blog.klaus.pro.br/2009/ler/ambiente-rails-no-ubuntu/index.html</link>
		<comments>http://blog.klaus.pro.br/2009/ler/ambiente-rails-no-ubuntu/index.html#comments</comments>
		<pubDate>Thu, 29 Jan 2009 12:58:46 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[RubyGems]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=198</guid>
		<description><![CDATA[Se você quer um ambiente completo para desenvolvimento Rails no Ubuntu 8.10, é só seguir os passos: 1- Instalar o Ruby: sudo aptitude install ruby-full build-essential 2- Instalar o RubyGems: (download aqui) tar zxvf rubygems-x.x.x.tgz cd rubygems-x.x.x sudo ruby setup.rb # substitua o x.x.x pela versão que você baixou 3- Atualizar o RubyGems: sudo gem1.8 [...]]]></description>
			<content:encoded><![CDATA[<p>Se você quer um <strong>ambiente completo</strong> para <strong>desenvolvimento Rails no Ubuntu 8.10</strong>, é só seguir os passos:</p>
<p style="margin-bottom: 2px;"><strong>1</strong>- Instalar o Ruby:</p>
<pre class="bash"><code style="margin: 2px 10px 20px;">sudo aptitude install ruby-full build-essential</code></pre>
<p style="margin-bottom: 2px;"><strong>2</strong>- Instalar o RubyGems: (<a href="http://rubyforge.org/projects/rubygems/"><em>download</em> aqui</a>)</p>
<pre class="bash"><code style="margin: 2px 10px 20px;">tar zxvf rubygems-x.x.x.tgz
cd rubygems-x.x.x
sudo ruby setup.rb
<span class="re3"># substitua o x.x.x pela versão que você baixou</span></code></pre>
<p style="margin-bottom: 2px;"><strong>3</strong>- Atualizar o RubyGems:</p>
<pre class="bash"><code style="margin: 2px 10px 20px;">sudo gem1.8 update --system</code></pre>
<p style="margin-bottom: 2px;"><strong>4</strong>- Instalar o Rails:</p>
<pre class="bash"><code style="margin: 2px 10px 20px;">sudo gem1.8 install rails
<span class="re3"># --no-rdoc --no-ri pode agilizar as coisas aqui</span></code></pre>
<p style="margin-bottom: 2px;"><strong>5</strong>- Instalar o MySQL:</p>
<pre class="bash"><code style="margin: 2px 10px 20px;">sudo aptitude install libmysql-ruby mysql-server libmysqlclient15-dev
sudo gem1.8 install mysql</code></pre>
<p style="margin-bottom: 2px;"><strong>6</strong>- Testar: =)</p>
<pre class="bash"><code style="margin: 2px 10px 20px;">rails my_test -d mysql
cd my_test
rake db:create
script/server</code></pre>
<p>Agora é só acessar http://localhost:3000/ ou http://127.0.0.1:3000/ no seu navegador favorito e correr para o abraço! <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><em>Nota</em>: a idéia é criar um <strong>roteiro de instalação simples e funcional</strong>, não a instalação mais enxuta possível.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2009/ler/ambiente-rails-no-ubuntu/index.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Introdução ao Rails</title>
		<link>http://blog.klaus.pro.br/2009/ler/introducao-ao-rails/index.html</link>
		<comments>http://blog.klaus.pro.br/2009/ler/introducao-ao-rails/index.html#comments</comments>
		<pubDate>Tue, 27 Jan 2009 16:37:42 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Apresentações]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Senac]]></category>
		<category><![CDATA[Slides]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=206</guid>
		<description><![CDATA[Introducao ao Rails View more presentations or upload your own. (tags: ruby rails) Estes são os slides complementares do curso que começou ontem. Uma introdução conceitual ao mundo Rails.]]></description>
			<content:encoded><![CDATA[<div id="__ss_957716" class="videos"><a style="display: none;" title="Introducao ao Ruby" href="http://www.slideshare.net/klauspaiva/introducao-ao-rails-presentation?type=powerpoint" title="Introducao ao Rails">Introducao ao Rails</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=introducaoaorails-1233073105375386-3&#038;stripped_title=introducao-ao-rails-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=introducaoaorails-1233073105375386-3&#038;stripped_title=introducao-ao-rails-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/ruby">ruby</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/rails">rails</a>)</div>
</div>
<p>Estes são os slides complementares do curso que começou ontem. Uma introdução conceitual ao mundo Rails. <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2009/ler/introducao-ao-rails/index.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introdução ao Ruby</title>
		<link>http://blog.klaus.pro.br/2009/ler/introducao-ao-ruby/index.html</link>
		<comments>http://blog.klaus.pro.br/2009/ler/introducao-ao-ruby/index.html#comments</comments>
		<pubDate>Mon, 26 Jan 2009 16:43:32 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Apresentações]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Senac]]></category>
		<category><![CDATA[Slides]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=194</guid>
		<description><![CDATA[Introducao ao Ruby View more presentations or upload your own. (tags: ruby rails) Hoje começou o curso de verão sobre Ruby on Rails lá no Senac. A primeira aula foi uma introdução ao Ruby. Acima estão os slides usados na apresentação.]]></description>
			<content:encoded><![CDATA[<div id="__ss_954134" class="videos"><a style="display: none;" title="Introducao ao Ruby" href="http://www.slideshare.net/klauspaiva/introducao-ao-ruby-presentation?type=powerpoint">Introducao ao Ruby</a><object width="425" height="355" data="http://static.slideshare.net/swf/ssplayer2.swf?doc=introducaoaoruby-1232987387532392-1&amp;stripped_title=introducao-ao-ruby-presentation" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=introducaoaoruby-1232987387532392-1&amp;stripped_title=introducao-ao-ruby-presentation" /><param name="allowfullscreen" value="true" /></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/ruby">ruby</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/rails">rails</a>)</div>
</div>
<p>Hoje começou o curso de verão sobre Ruby on Rails lá no Senac. A primeira aula foi uma introdução ao Ruby. Acima estão os slides usados na apresentação. <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2009/ler/introducao-ao-ruby/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[rails] Renderizando uma view sem uma action específica</title>
		<link>http://blog.klaus.pro.br/2009/ler/rails-renderizando-uma-view-sem-uma-action/index.html</link>
		<comments>http://blog.klaus.pro.br/2009/ler/rails-renderizando-uma-view-sem-uma-action/index.html#comments</comments>
		<pubDate>Wed, 07 Jan 2009 16:57:54 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=182</guid>
		<description><![CDATA[Simples assim: def method_missing( method_name ) begin render :template =&#62; 'my_controller/' + method_name rescue ActionView::MissingTemplate =&#62; e render :text =&#62; "Ops, essa view não existe! (#{method_name})", :status =&#62; 404 end end Viva o method_missing! &#8220;Plus a mais&#8221;: Uma forma alternativa está no comentário abaixo.]]></description>
			<content:encoded><![CDATA[<p>Simples assim:</p>
<pre class="rails"><code>  <span class="kw1">def</span> method_missing<span class="br0">(</span> method_name <span class="br0">)</span>
    <span class="kw1">begin</span>
      <span class="kw5">render</span> <span class="re3">:template</span> =&gt; <span class="st0">'my_controller/'</span> + method_name
    <span class="kw1">rescue</span> <span class="re2">ActionView::MissingTemplate</span> =&gt; e
      <span class="kw5">render</span> <span class="re3">:text</span> =&gt; <span class="st0">"Ops, essa view não existe! (#{method_name})"</span>, <span class="re3">:status</span> =&gt; <span class="nu0">404</span>
    <span class="kw1">end</span>
  <span class="kw1">end</span></code></pre>
<p>Viva o <a href="http://weblog.jamisbuck.org/2006/12/1/under-the-hood-activerecord-base-find-part-3">method_missing</a>! <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><em><strong>&#8220;Plus a mais&#8221;</strong></em>: Uma forma alternativa está no comentário abaixo.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2009/ler/rails-renderizando-uma-view-sem-uma-action/index.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Busca fácil on Rails</title>
		<link>http://blog.klaus.pro.br/2008/ler/busca-facil-on-rails/index.html</link>
		<comments>http://blog.klaus.pro.br/2008/ler/busca-facil-on-rails/index.html#comments</comments>
		<pubDate>Fri, 12 Dec 2008 13:30:12 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[RubyGems]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=166</guid>
		<description><![CDATA[Durante as férias escolares que se aproximam, planejo dar continuidade ao projeto que iniciei no Yahoo! Hack Day desse ano. A idéia é fazer um calendário + mapa de eventos. Aproveitei um tempo de folga essa semana e resolvi implementar uma busca nos eventos cadastrados. Fiz um rascunho que como seria a busca e pensei: [...]]]></description>
			<content:encoded><![CDATA[<p>Durante as férias escolares que se aproximam, planejo dar continuidade ao <a href="http://blog.klaus.pro.br/2008/ler/yahoo-hack-day-eu-fui/index.html">projeto que iniciei no Yahoo! Hack Day</a> desse ano. A idéia é fazer um calendário + mapa de eventos. <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Aproveitei um tempo de folga essa semana e resolvi implementar uma busca nos eventos cadastrados. Fiz um rascunho que como seria a busca e pensei: &#8220;<em>ok</em>, agora não quero reinventar a roda, será que existe algum <em>plugin/gem</em> que facilite a criação de páginas de busca?&#8221;</p>
<p>Após algumas buscas e testes encontrei um projeto chamado <a href="http://searchlogic.rubyforge.org/">Searchlogic</a>. A primeira impressão foi muito boa: de cara já vejo o projeto com uma ampla documentação disponível. Bastaram algumas linhas de código para conseguir o que eu queria! <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Com base nesse resultado positivo, resolvi compartilhar aqui a minha experiência fazendo uma pequena explicação sobre como integrar o Searchlogic ao seu site.</p>
<p><strong>Passo 1</strong>: Instalação do Searchlogic: Você pode fazer a instalação usando o <a href="http://rubyforge.org/projects/rubygems/">RubyGems</a> ou instalando com um plugin dentro do seu projeto.</p>
<p>Instalação como gem:</p>
<pre class="bash"><code>sudo gem install searchlogic

<span class="re3"># e depois adicione ao config/environment.rb</span>
config.gem <span class="st0">"searchlogic"</span> </code></pre>
<p>Instalação como plugin:</p>
<pre class="bash"><code>script/plugin install git://github.com/binarylogic/searchlogic.git</code></pre>
<p><strong>Passo 2</strong>: Faça a busca! É isso mesmo, já está &#8220;tudo no jeito&#8221; para você fazer a sua busca. Uma busca simples seria:</p>
<pre class="rails"><code><span class="re1">@search</span> = Model.<span class="me1">new_search</span><span class="br0">(</span> params<span class="br0">[</span><span class="re3">:q</span><span class="br0">]</span> <span class="br0">)</span>
<span class="re1">@items</span>, <span class="re1">@items_count</span> = <span class="re1">@search</span>.<span class="me1">all</span>, <span class="re1">@search</span>.<span class="kw5">count</span></code></pre>
<p>O que esse código faz é buscar registros a partir do seu modelo (<em>Model</em> no exemplo) e colocar o resultado em duas variáveis: uma com a coleção de registros e outra com a quantidade retornada. Mais fácil impossível.</p>
<p><strong>Passo 3</strong>: Personalizando sua busca: se você quiser, e você provavelmente quer, você pode especificar quais campos devem ser pesquisados ou quais as condições devem ser atendidas. Tudo isso é muito simples de ser feito e pode ser definido de duas formas: você pode usar um <em>hash</em> com as opções e condições (similar ao que fazemos com o tradicional <em>find</em>) ou uma abordagem mais orientada a objetos. Exemplos simulando uma busca de carros:</p>
<p>Passando um hash:</p>
<pre class="rails"><code>Car.<span class="me1">all</span><span class="br0">(</span>
  <span class="re3">:conditions</span> =&gt; <span class="br0">{</span>
    <span class="re3">:name_contains</span> =&gt; <span class="st0">'ford'</span>, <span class="co1"># name like '%ford%'</span>
  <span class="br0">}</span>,
  <span class="re3">:per_page</span> =&gt; <span class="nu0">10</span>
  <span class="re3">:page</span> =&gt; params<span class="br0">[</span><span class="re3">:page</span><span class="br0">]</span>,
  <span class="re3"> <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> rder_by</span> =&gt; <span class="st0">'year'</span>,
  <span class="re3"> <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> rder_as</span> =&gt; <span class="st0">'DESC'</span>,
<span class="br0">)</span></code></pre>
<p>Ou como um objeto:</p>
<pre class="rails"><code>search = Car.<span class="me1">new_search</span>
search.<span class="me1">conditions</span>.<span class="me1">name_contains</span> = <span class="st0">'ford'</span>
search.<span class="me1">per_page</span> = <span class="nu0">10</span>
search.<span class="me1">page</span> = params<span class="br0">[</span><span class="re3">:page</span><span class="br0">]</span>
search.<span class="me1">order_by</span> = <span class="st0">'year'</span>
search.<span class="me1">order_as</span> = <span class="st0">'DESC'</span>
search.<span class="me1">all</span> <span class="co1"># execute</span></code></pre>
<p>Simples não? E isso é só o começo, na <a href="http://searchlogic.rubyforge.org/">documentação do projeto</a> há muitos outros exemplos e possibilidades!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2008/ler/busca-facil-on-rails/index.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rails Summit Latin America &#8211; Dia 1</title>
		<link>http://blog.klaus.pro.br/2008/ler/rails-summit-latin-america-dia-1/index.html</link>
		<comments>http://blog.klaus.pro.br/2008/ler/rails-summit-latin-america-dia-1/index.html#comments</comments>
		<pubDate>Thu, 16 Oct 2008 00:39:33 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Livros]]></category>
		<category><![CDATA[Locaweb]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Vida Social]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=134</guid>
		<description><![CDATA[Foi uma decisão em cima da hora mas acabei indo ao Rails Summit Latin America (decidi ontem =). Confesso que gostei bastante da maioria das apresentações que assisti hoje. Sendo assim, registro aqui breves comentários e notas (não avaliações) sobre o que vi. Abertura com Gilberto Mautner, da Locaweb: contou um pouco da história da [...]]]></description>
			<content:encoded><![CDATA[<p>Foi uma decisão em cima da hora mas acabei indo ao <a href="http://locaweb.com.br/railssummit/">Rails Summit Latin America</a> (decidi ontem =). Confesso que gostei bastante da maioria das apresentações que assisti hoje. Sendo assim, registro aqui breves comentários e notas (não avaliações) sobre o que vi.</p>
<p><strong><em>Abertura com Gilberto Mautner, da Locaweb</em></strong>: contou um pouco da história da Locaweb, como ela surgiu e qual caminho ela seguiu até se tornar o que é hoje. Inclusive comentou as motivações que o levaram a optar por suportar <a href="http://rubyonrails.org/">Rails</a> nos seus planos de hospedagem.</p>
<p>Pra quem ainda não conhece, ou conhece pouco, o Ruby on Rails, ele deixou duas ótimas sugestões: a leitura do livro &#8220;<a href="http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition">Agile Web Development with Rails</a>&#8221; e ver o vídeo sobre <a href="http://rubyonrails.org/screencasts">como criar um blog em 15 minutos</a>.</p>
<p><em><strong>Chad Fowler</strong></em>: fez uma ótima apresentação sob o título &#8220;Being remarkable&#8221;. Entre vários tópicos, sugeriu a leitura do livro &#8220;<a href="http://www.sethgodin.com/purple/">Purple cow</a>&#8220;, que, em síntese, mostra como transformar seu negócio sendo notável. <em>Nota mental: comprar este livro =).</em></p>
<p>Além disso, ele exibiu um gráfico dizendo que, no geral, temos cinco níveis de programadores. O segundo nível, os &#8220;iniciantes avançados&#8221; (&#8220;advanced beginners&#8221; no original) é o grupo que concentra o maior número de pessoas e é o nível onde a maioria das pessoas também para (seria &#8220;pára&#8221; mas acho que com as novas regras gramaticais fica sem acentuação). Daí pode se concluir que quem ser notável deve ir além de um &#8220;iniciante avançado&#8221;.</p>
<p><a href="http://www.nomedojogo.com/"><strong><em>Carlos Brando, da Surgeworks</em></strong></a>: contou como é a experiência de trabalhar remotamente para uma empresa estrangeira. Além disso, fez uma ótima comparação sobre programadores &#8220;especialistas&#8221; vs. &#8220;generalistas&#8221;. Sobre esse último tópico concluiu dizendo que você deve ser sim, especialista em alguma tecnologia, mas também generalista para conhecer outros paradigmas.</p>
<p><em><strong>Chris Wanstrath, do GitHub</strong></em>: o conteúdo foi bastante interessante e teria sido uma ótima apresentação, exceto por um detalhe: ele leu toda a apresentação! Se você quiser saber o que ele falou, palavra por palavra, <a href="http://gist.github.com/6443">veja este documento no GitHub</a>.</p>
<p><em><strong>Birds of a Feather</strong></em>: foi uma apresentação diferente, onde as pessoas da platéia podiam ir até o palco e falar sobre qualquer assunto relacionado a Ruby on Rails. Gostei do formato diferenciado, deu pra conhecer vários projetos e idéias legais. Destaque para a apresentação super engraçada do <a href="http://maisweb.org/blogdoelomar/">Elomar França</a>. Se alguém gravou, com certeza vai virar um <em>hit</em> na internet. <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Além disso tudo, durante o dia ainda &#8220;trombei&#8221; com vários &#8220;Railers&#8221; da blogosfera brasileira: <a href="http://simplesideias.com.br/">Nando Vieira</a>, <a href="http://logbr.reflectivesurface.com/">Ronaldo Ferraz</a>, <a href="http://www.arthurgeek.net/">Arthur Geek</a>, <a href="http://blog.georgeguimaraes.com/">George Guimarães</a>, entre outros.</p>
<p>Bom, por hoje é isso. Tá na hora de ir pra cama pois amanhã tem mais, muito mais. <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2008/ler/rails-summit-latin-america-dia-1/index.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Personalizando a div.fieldWithErrors do Rails</title>
		<link>http://blog.klaus.pro.br/2008/ler/personalizando-a-div-fieldwitherrors-do-rails/index.html</link>
		<comments>http://blog.klaus.pro.br/2008/ler/personalizando-a-div-fieldwitherrors-do-rails/index.html#comments</comments>
		<pubDate>Fri, 08 Aug 2008 17:01:25 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=98</guid>
		<description><![CDATA[Dica rápida para o Rails. Sabe aquela div.fieldWithErrors que aparece em volta dos campos com erros de validação? Você pode alterá-la com facilidade e até sumir com ela de vez. =) O Nando Vieira publicou um texto ensinando como fazer div.fieldWithErrors desaparecer. Porém, no meu caso eu queria algum elemento indicando o erro, mas gostaria [...]]]></description>
			<content:encoded><![CDATA[<p>Dica rápida para o <a href="http://rubyonrails.com/">Rails</a>. Sabe aquela div.fieldWithErrors que aparece em volta dos campos com erros de validação? Você pode alterá-la com facilidade e até sumir com ela de vez. =)</p>
<p>O <a href="http://simplesideias.com.br/removendo-a-div-fieldwitherrors-no-rails/">Nando Vieira</a> publicou um texto ensinando <a href="http://simplesideias.com.br/removendo-a-div-fieldwitherrors-no-rails/">como fazer div.fieldWithErrors desaparecer</a>. Porém, no meu caso eu queria algum elemento indicando o erro, mas gostaria que ele fosse uma <em>tag</em> span, por exemplo.</p>
<p>A solução é essa:</p>
<pre class="rails"><code><span class="re2">ActionView::Base</span>.<span class="me1">field_error_proc</span> = <span class="kw4">Proc</span>.<span class="kw5">new</span> <span class="kw1">do</span> |html_tag, instance|
  <span class="st0">"&lt;span class=<span class="es0">\"</span>fieldWithErrors<span class="es0">\"</span>&gt;#{html_tag}&lt;/span&gt;"</span>
<span class="kw1">end</span></code></pre>
<p>Basta adicionar esse trecho de código no seu <em>config/environment.rb</em>. =)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2008/ler/personalizando-a-div-fieldwitherrors-do-rails/index.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Último dia da oficina de Javascript e Ajax</title>
		<link>http://blog.klaus.pro.br/2008/ler/ultimo-dia-da-oficina-de-javascript-e-ajax/index.html</link>
		<comments>http://blog.klaus.pro.br/2008/ler/ultimo-dia-da-oficina-de-javascript-e-ajax/index.html#comments</comments>
		<pubDate>Thu, 17 Jul 2008 18:47:55 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Senac]]></category>
		<category><![CDATA[Vida Social]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=89</guid>
		<description><![CDATA[A oficina de Ajax que começou no dia 1 deste mês acabou hoje, dia 17. Nestes vários dias de curso/oficina deu pra abordar vários temas, desde os fundamentais para o bom entendimento da linguagem até o uso prático e produtivo do Javascript. Durante esse período mostrei desde a sintaxe base da linguagem, passando por manipulação [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://blog.klaus.pro.br/2008/ler/apresentacao-para-a-oficina-sobre-javascript-e-ajax/index.html">oficina de Ajax</a> que começou no dia 1 deste mês acabou hoje, dia 17. Nestes vários dias de curso/oficina deu pra abordar vários temas, desde os fundamentais para o bom entendimento da linguagem até o uso prático e produtivo do Javascript.</p>
<p>Durante esse período mostrei desde a sintaxe base da linguagem, passando por manipulação de <a href="http://www.w3.org/Style/CSS/">CSS</a> e <a href="http://developer.mozilla.org/en/docs/Category:Gecko_DOM_Reference">DOM</a>, eventos e <em>listeners</em>, até chegar no tão falado Ajax. E no último dia ainda deu tempo de apresentar a ótima biblioteca <a href="http://jquery.com/">jQuery</a> sob o tópico <strong>produtividade</strong>.</p>
<p>Ah, tirei uma foto com o pessoal que participou da oficina:</p>
<dl class="images">
<dt> <a class="thickbox" title="Na foto estão os alunos da oficina e eu, quase no centro, de camisa azul." href="http://blog.klaus.pro.br/wp-content/uploads/2008/07/oficina-de-javascript-ajax-ultimo-dia.jpg"><img src="http://blog.klaus.pro.br/wp-content/uploads/2008/07/oficina-de-javascript-ajax-ultimo-dia-thumb.jpg" alt="" /> </a></dt>
<dd>Na foto estão os alunos da oficina e eu, quase no centro, de camisa azul.</dd>
</dl>
<p>Espero que todos possam ter aprendido pelo menos algo de novo e interessante. Aproveito para agradecer a presença de todos, que se esforçaram pra acordar cedo mesmo durante as férias letivas. Bom, agora deixa eu mostrar a foto para minha mãe&#8230; =)</p>
<p>Gostei de ministrar essas oficinas, e já estou até pensando qual pode ser o tema da oficina de verão, no final do ano? <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)">LAMP</a>? <a href="http://rubyonrails.com/">Ruby on Rails</a>? Só o tempo dirá&#8230; <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2008/ler/ultimo-dia-da-oficina-de-javascript-e-ajax/index.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails na Dreamhost &#8211; Agora com Passenger</title>
		<link>http://blog.klaus.pro.br/2008/ler/ruby-on-rails-na-dreamhost-agora-com-passenger/index.html</link>
		<comments>http://blog.klaus.pro.br/2008/ler/ruby-on-rails-na-dreamhost-agora-com-passenger/index.html#comments</comments>
		<pubDate>Thu, 10 Jul 2008 23:22:02 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Dreamhost]]></category>
		<category><![CDATA[Hospedagem]]></category>
		<category><![CDATA[Passenger]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=85</guid>
		<description><![CDATA[Já faz mais de um ano que eu escrevi um texto sobre como rodar aplicações em Ruby on Rails na Dreamhost. Fico feliz ao poder dizer hoje que as instruções naquele texto não são mais, totalmente, necessárias. =) Semana passada criei uma aplicação bem simples, para testes, e resolvi tentar colocá-la na Dreamhost. Ok, já [...]]]></description>
			<content:encoded><![CDATA[<p>Já faz mais de um ano que eu escrevi um texto sobre <a href="http://blog.klaus.pro.br/2007/ler/ruby-on-rails-na-dreamhost/index.html">como rodar aplicações em Ruby on Rails na Dreamhost</a>. Fico feliz ao poder dizer hoje que as instruções naquele texto não são mais, totalmente, necessárias. =)</p>
<p>Semana passada criei uma aplicação bem simples, para testes, e resolvi tentar colocá-la na Dreamhost. Ok, já faz um tempinho que eles anunciaram o <a href="http://blog.dreamhost.com/2008/05/13/passenger-for-ruby-on-rails/">suporte a Ruby on Rails</a> nos planos de hospedagem mas, só agora eu tive tempo hábil de testar.</p>
<p>Minha aplicação de testes usa o Rails 2.1 (congelado) e o excelente plugin <a href="http://activescaffold.com/">active_scaffold</a>,. O processo foi bem simples e prático.</p>
<p>Criei o meu domínio pelo painel e deixei selecionada a opção &#8220;Ruby on Rails Passenger (mod_rails)?&#8221;. Copiei meus arquivos e foi só alterar o <em>environment.rb</em> para deixar o Rails em produção. <strong>Só isso!</strong></p>
<p>No <a href="http://wiki.dreamhost.com/Passenger">wiki da Dreamhost</a> (sempre bem atualizado, diga-se de passagem) há mais informações, inclusive ali você encontra a forma de reiniciar sua aplicação, quando você alterar os seus arquivos.</p>
<p>E se você ainda não usa a Dreamhost e quer conhecer essa ótima hospedagem, <a href="http://www.dreamhost.com/r.cgi?178238">siga por aqui para fazer o seu cadastro</a>. Esse <em>link</em> te dá um <strong>desconto de $50</strong> e um domínio grátis!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2008/ler/ruby-on-rails-na-dreamhost-agora-com-passenger/index.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Rails 2.0 e 2.1</title>
		<link>http://blog.klaus.pro.br/2008/ler/rails-2-e-21/index.html</link>
		<comments>http://blog.klaus.pro.br/2008/ler/rails-2-e-21/index.html#comments</comments>
		<pubDate>Wed, 04 Jun 2008 19:43:04 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Vídeos]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=75</guid>
		<description><![CDATA[Acompanhar o processo de desenvolvimento de uma linguagem ou framework é sempre um trabalho interessante mas que exige uma boa dose de dedicação e tempo. O framework Ruby on Rails está agora na sua versão 2.x e mesmo para quem utiliza o framework por hobby (como eu =) é importante conhecer as mudanças ocorridas. No [...]]]></description>
			<content:encoded><![CDATA[<p>Acompanhar o processo de desenvolvimento de uma linguagem ou <em>framework</em> é sempre um trabalho interessante mas que exige uma boa dose de dedicação e tempo. O <em>framework</em> <a href="http://www.rubyonrails.org/"><strong>Ruby on Rails</strong></a> está agora na sua versão 2.x e mesmo para quem utiliza o <em>framework</em> por <em>hobby</em> (como eu =) é importante conhecer as mudanças ocorridas.</p>
<p>No blog do <a href="http://www.akitaonrails.com/">Akita</a> há dois tutoriais bastante abrangentes sobre as mudanças nas versões 2.0 e 2.1 do Rails. O texto da versão 2.0 tem duas partes (<a href="http://www.akitaonrails.com/2008/2/1/rolling-with-rails-2-0-o-primeiro-tutorial-completo-parte-1">parte um</a> e <a href="http://www.akitaonrails.com/2008/2/1/rolling-with-rails-2-0-o-primeiro-tutorial-completo-parte-2">parte dois</a>) e já está totalmente português. O texto da versão 2.1 ainda está em inglês nas duas partes (<a href="http://www.akitaonrails.com/2008/5/25/rolling-with-rails-2-1-the-first-full-tutorial-part-1">parte um</a> e <a href="http://www.akitaonrails.com/2008/5/26/rolling-with-rails-2-1-the-first-full-tutorial-part-2">parte dois</a>).</p>
<p>Para quem ainda não está por dentro das mudanças do <strong>Rails 2</strong>, leitura recomendada! =)</p>
<p>Além disso, nos excelentes <a href="http://railscasts.com/">Railscasts</a>, o Ryan Bates já separou duas <em>tags</em> para identificar vídeos sobre <a href="http://railscasts.com/tags/17">Rails 2.0</a> e <a href="http://railscasts.com/tags/20">Rails 2.1</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2008/ler/rails-2-e-21/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
