<?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>E-tinet &#187; ruby apostila</title>
	<atom:link href="http://e-tinet.com/tag/ruby-apostila/feed/" rel="self" type="application/rss+xml" />
	<link>http://e-tinet.com</link>
	<description>Simplesmente Tecnologia</description>
	<lastBuildDate>Fri, 09 Mar 2012 02:05:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Ótima apostila de Ruby on Rails &#8211; Desenvolvimento Ágil para Web 2.0</title>
		<link>http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/</link>
		<comments>http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 00:31:47 +0000</pubDate>
		<dc:creator>Pedro Delfino</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[apostila ruby rails]]></category>
		<category><![CDATA[rails apostila]]></category>
		<category><![CDATA[ruby apostila]]></category>

		<guid isPermaLink="false">http://e-tinet.com/?p=1522</guid>
		<description><![CDATA[BufferDigg DiggSem duvida nenhuma, uma das melhores apostilas sobre Ruby on Rails que eu já vi, a Caleum disponibilizou grátis a apostila do curso RR-71, com um ótimo conteúdo e sempre atualizada. Conteúdo da apostila de Ruby on Rails A apostila Ruby on Rails da Caleum pode ser baixada via PDF, sem qualquer custo. 1 [...]<p>Post original do blog <a href="http://e-tinet.com">E-tinet</a> pode ser acessar pelo link direto <a href="http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/">Ótima apostila de Ruby on Rails &#8211; Desenvolvimento Ágil para Web 2.0</a>. O Blog <a href="http://e-tinet.com">E-tinet - Simplesmente Tecnologia</a> tem autoria de Pedro Delfino dos Santos Neto. Para entrar em contato com o autor acesse <a href="http://e-tinet.com/contato">/contato</a>. E visite o meu twitter em <a href="http://twitter.com/pedrodelfino">@pedrodelfino</a> para saber o que eu estou fazendo.
<hr>
<h4>Curso Linux Ubuntu</h4>
Aproveite e visite o <a href="http://e-tinet.com/curso-linux-ubuntu">http://e-tinet.com/curso-linux-ubuntu</a> conheça o conteúdo totalmente grátis.</p>
]]></description>
			<content:encoded><![CDATA[<div id='dd_ajax_float'><div class='dd_button_v '><div class='dd-google1-ajax-load dd-google1-1522'></div><g:plusone size='tall' href='http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/'></g:plusone></div><div style='clear:left'></div><div class='dd_button_v '><div class='dd-linkedin-ajax-load dd-linkedin-1522'></div><script type='IN/share' data-url='http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/' data-counter='top'></script></div><div style='clear:left'></div><div class='dd_button_v '><div class='dd-fblike-ajax-load dd-fblike-1522'></div><iframe class="DD_FBLIKE_AJAX_1522" src='' height='0' width='0' scrolling='no' frameborder='0' allowTransparency='true'></iframe></div><div style='clear:left'></div><div class='dd_button_v '><a target="_blank" href="http://bufferapp.com/add" rel="nofollow"  class="buffer-add-button" data-count="vertical" data-url="http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/">Buffer</a><script type="text/javascript" src="http://static.bufferapp.com/js/button.js"></script></div><div style='clear:left'></div><div class='dd_button_v '><div class='dd-twitter-ajax-load dd-twitter-1522'></div><a target="_blank" href="http://twitter.com/share" rel="nofollow"  class="twitter-share-button" data-url="http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/" data-count="vertical" data-text="Ótima apostila de Ruby on Rails - Desenvolvimento Ágil para Web 2.0" data-via="" ></a></div><div style='clear:left'></div><div class='dd_button_v '><div class='dd-fbshare-ajax-load dd-fbshare-1522'></div><a target="_blank" href="http://www.facebook.com/sharer.php" rel="nofollow" class='DD_FBSHARE_AJAX_1522' name='fb_share' type='box_count' share_url='http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/' ></a></div><div style='clear:left'></div><div id='dd_name'><a href="http://bufferapp.com/diggdigg" rel="nofollow"  target='_blank'>Digg Digg</a></div></div><div class='dd_content_wrap'><p>Sem duvida nenhuma, uma das melhores apostilas sobre Ruby on Rails que eu já vi, a <a target="_blank" href="  http://www.caelum.com.br/curso/rr-71-ruby-on-rails/" rel="nofollow" >Caleum</a> disponibilizou grátis a apostila do curso RR-71, com um ótimo conteúdo e sempre atualizada.</p>
<p><a href="http://e-tinet.com/wp-content/uploads/2010/01/apostila-ROR-71.png" ><img src="http://e-tinet.com/wp-content/uploads/2010/01/apostila-ROR-71-357x500.png" alt="apostila ROR 71 357x500 Ótima apostila de Ruby on Rails   Desenvolvimento Ágil para Web 2.0" title="apostila-ROR-71" width="357" height="500" class="aligncenter size-medium wp-image-1523" /></a><br />
<span id="more-1522"></span></p>
<h2>Conteúdo da apostila de Ruby on Rails </h2>
<p>A <a target="_blank" href="http://downloads.caelum.com.br/apostila/caelum-ruby-on-rails-rr71.pdf" rel="nofollow" >apostila Ruby on Rails da Caleum</a> pode ser baixada via PDF, sem qualquer custo.</p>
<p><code>1 Agilidade na Web                                                                                                 1<br />
  1.1 A agilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1<br />
  1.2 A comunidade Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     1<br />
  1.3 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2<br />
  1.4 Tirando dúvidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    3<br />
  1.5 Para onde ir depois? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     3<br />
2 A linguagem Ruby                                                                                                 4<br />
  2.1 A história do Ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   4<br />
  2.2 Características   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4<br />
  2.3 Instalação do interpretador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    4<br />
  2.4 Outras implementações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      6<br />
  2.5 MagLev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     7<br />
  2.6 Ruby Enterprise Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    7<br />
  2.7 Interactive Ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   8<br />
  2.8 Tipos Básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    8<br />
  2.9 Para Saber Mais - Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      9<br />
  2.10 Para Saber Mais - Desafio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
3 Ruby Avançado                                                                                                   12<br />
  3.1 Mundo orientado a objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
  3.2 Métodos comuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
  3.3 Meta-programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
  3.4 Definição de métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
  3.5 Discussão: Enviando mensagens aos objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
  3.6 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
  3.7 Desafio: Classes abertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />
  3.8 self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />
  3.9 Desafio: self e o método puts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />
  3.10 Atributos e propriedades: acessores e modificadores . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />
  3.11 Syntax Sugar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />
  3.12 Métodos de Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />
  3.13 Para saber mais: Singleton Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
  3.14 Metaprogramação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />
  3.15 Convenções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />
  3.16 Coleções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />
  3.17 Blocos e Programação Funcional        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />
  3.18 Desafio: Usando blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />
  3.19 Mais OO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />
  3.20 Modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />
  3.21 Manipulando erros e exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />
  3.22 Exercício: Manipulando exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
  3.23 Arquivos Ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
4 Ruby on Rails                                                                                                    30<br />
  4.1 Ruby On Rails - Apresentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />
  4.2 Aprender Ruby? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
  4.3 RadRails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
  4.4 Primeira Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />
  4.5 Exercícios: Iniciando o Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />
  4.6 Estrutura dos diretórios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />
  4.7 O Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />
  4.8 Exercícios: Criando o banco de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
  4.9 A base da construção: scaffold (andaime) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
  4.10 Exercícios: Scaffold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />
  4.11 Gerar as tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />
  4.12 Versão do Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />
  4.13 Exercícios: Migrar tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />
  4.14 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />
  4.15 Documentação do Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />
  4.16 Exercício Opcional: Utilizando a documentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />
5 Active Record                                                                                                    46<br />
  5.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />
  5.2 Exercícios: Controle de Restaurantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />
  5.3 Modelo - O “M” do MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />
  5.4 ActiveRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />
  5.5 Rake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />
  5.6 Criando Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
  5.7 Migrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
  5.8 Exercícios: Criando os modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />
  5.9 Manipulando nossos modelos pelo console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />
  5.10 Exercícios: Manipulando registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />
  5.11 Exercícios Opcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />
  5.12 Finders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />
  5.13 Exercícios: Buscas dinâmicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
  5.14 Validações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />
  5.15 Exercícios: Validações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />
  5.16 Exercícios - Completando nosso modelo         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />
  5.17 O Modelo Qualificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />
  5.18 Exercícios - Criando o Modelo de Qualificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />
  5.19 Relacionamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
  5.20 Para Saber Mais: Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />
  5.21 Exercícios - Relacionamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />
  5.22 Para Saber Mais - Eager Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
  5.23 Para Saber Mais - Named Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
  5.24 Para Saber Mais - Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />
6 Controllers e Views                                                                                              76<br />
  6.1 O “V” e o “C” do MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />
  6.2 Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />
  6.3 Exercícios: Criando o controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />
  6.4 Redirecionamento de Action e Action padrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />
  6.5 Trabalhando com a View: O ERB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
  6.6 Entendendo melhor o CRUD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />
  6.7 Exercícios: Controlador do Restaurante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />
  6.8 Helper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />
  6.9 Exercícios: Utilizando helpers para criar as views . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />
  6.10 Partial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />
  6.11 Exercícios: Customizando o cabeçalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
  6.12 Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />
  6.13 Exercícios: Criando o header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />
  6.14 Outras formas de gerar a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />
  6.15 Filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />
7 Rotas                                                                                                            94<br />
  7.1 routes.rb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />
  7.2 Pretty URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
  7.3 Named Routes       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
  7.4 REST - map.resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />
  7.5 Actions extras em Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />
  7.6 Diversas Representações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />
  7.7 Para Saber Mais - Nested Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />
8 Completando o Sistema                                                                                           100<br />
  8.1 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />
  8.2 Selecionando Clientes e Restaurante no form de Qualificações . . . . . . . . . . . . . . . . . . . 103<br />
  8.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />
  8.4 Exercícios Opcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />
9 Calculations                                                                                                      110<br />
   9.1 Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br />
   9.2 Média . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br />
   9.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />
10 Associações Polimórficas                                                                                          112<br />
   10.1 Nosso problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112<br />
   10.2 Alterando o banco de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112<br />
   10.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114<br />
11 Ajax fácil com RJS                                                                                               117<br />
   11.1 Adicionando comentários nas views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />
   11.2 Métodos de RJS Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />
   11.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />
   11.4 Adicionando comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />
   11.5 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123<br />
   11.6 Exercícios - Enviando os dados com Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126<br />
12 Alguns Plugins e Gems Importantes                                                                                128<br />
   12.1 Paginação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128<br />
   12.2 Exercícios - Título . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />
   12.3 Hpricot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />
   12.4 Exercícios - Testando o Hpricot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />
   12.5 File Uploads: Paperclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />
   12.6 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />
13 Apêndice A - Testes                                                                                              133<br />
   13.1 O Porquê dos testes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />
   13.2 Test::Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />
   13.3 RSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br />
   13.4 Cucumber, o novo Story Runner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br />
14 Apêndice B - Integrando Java e Ruby                                                                               142<br />
   14.1 O Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br />
   14.2 Testando o JRuby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br />
   14.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br />
   14.4 Testando o JRuby com Swing         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<br />
15 Apêndice C - Deployment                                                                                           144<br />
   15.1 Webrick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />
   15.2 CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />
   15.3 FCGI - FastCGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />
   15.4 Lighttpd e Litespeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />
   15.5 Mongrel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />
   15.6 Proxies Reversos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />
   15.7 Phusion Passenger (mod_rails)        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />
   15.8 Ruby Enterprise Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />
   15.9 Exercícios: Deploy com Apache e Passenger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />
16 Apêndice D - Instalação                                                                                           150<br />
   16.1 Ruby - Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150<br />
   16.2 Ruby - Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />
   16.3 Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />
   16.4 JDK    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />
   16.5 Aptana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />
   16.6 Mongrel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />
   16.7 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />
   16.8 SVN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />
</code></p>
<p>Vale sim dar uma olhada em mais esta fonte de conhecimento.</p>
<p><map name='google_ad_map_1522_9759396b30a58f9e'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/1522?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_1522_9759396b30a58f9e' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=1522&amp;url=http%3A%2F%2Fe-tinet.com%2Fblog%2Fruby-on-rails%2Fotima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0%2F' title="Ótima apostila de Ruby on Rails   Desenvolvimento Ágil para Web 2.0" alt=" Ótima apostila de Ruby on Rails   Desenvolvimento Ágil para Web 2.0" /></p></div><style type="text/css" media="screen">#dd_ajax_float{
	background:none repeat scroll 0 0 #FFFFFF;
	border:1px solid #DDDDDD;
	float:left;
	margin-left:-120px;
	margin-right:10px;
	margin-top:10px;
	position:absolute;
	z-index:9999;
}</style><script type="text/javascript">jQuery(document).ready(function($){

	var $postShare = $('#dd_ajax_float');
	
	if($('.dd_content_wrap').length > 0){
	
		var descripY = parseInt($('.dd_content_wrap').offset().top) - 20;
		var pullX = $postShare.css('margin-left');
	
		$(window).scroll(function () { 
		  
			var scrollY = $(window).scrollTop();
			var fixedShare = $postShare.css('position') == 'fixed';
			
			if($('#dd_ajax_float').length > 0){
			
				if ( scrollY > descripY && !fixedShare ) {
					$postShare.stop().css({
						position: 'fixed',
						top: 16
					});
				} else if ( scrollY < descripY && fixedShare ) {
					$postShare.css({
						position: 'absolute',
						top: descripY,
						marginLeft: pullX
					});
				}
				
			}
	
		});
	}
});</script><script type="text/javascript"> jQuery(document).ready(function($) { window.setTimeout('loadGoogle1_1522()',1000);window.setTimeout('loadLinkedin_1522()',1000);window.setTimeout('loadFBLike_1522()',1000);window.setTimeout('loadTwitter_1522()',1000);window.setTimeout('loadFBShare_1522()',1000); }); </script><script type="text/javascript"> function loadGoogle1_1522(){ jQuery(document).ready(function($) { $('.dd-google1-1522').remove();$.getScript('https://apis.google.com/js/plusone.js'); }); } function loadLinkedin_1522(){ jQuery(document).ready(function($) { $('.dd-linkedin-1522').remove();$.getScript('http://platform.linkedin.com/in.js'); }); } function loadFBLike_1522(){ jQuery(document).ready(function($) { $('.dd-fblike-1522').remove();$('.DD_FBLIKE_AJAX_1522').attr('width','50');$('.DD_FBLIKE_AJAX_1522').attr('height','60');$('.DD_FBLIKE_AJAX_1522').attr('src','http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fe-tinet.com%2Fblog%2Fruby-on-rails%2Fotima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0%2F&locale=en_US&layout=box_count&action=like&width=50&height=60&colorscheme=light'); }); } function loadTwitter_1522(){ jQuery(document).ready(function($) { $('.dd-twitter-1522').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); } function loadFBShare_1522(){ jQuery(document).ready(function($) { $('.dd-fbshare-1522').remove(); $.getScript('http://static.ak.fbcdn.net/connect.php/js/FB.Share'); }); }</script><script type="text/javascript"> jQuery(document).ready(function($) {
	
		if($(window).width()> 790){ 
			$('#dd_ajax_float').show()
		}else{
			$('#dd_ajax_float').hide()
		}

		$(window).resize(function() { 
			
			if($(window).width()> 790){ 
				$('#dd_ajax_float').show()
			}else{
				$('#dd_ajax_float').hide()
			}
			
		});  

	}); ;</script><p>Post original do blog <a href="http://e-tinet.com" rel="nofollow" >E-tinet</a> pode ser acessar pelo link direto <a href="http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/" >Ótima apostila de Ruby on Rails &#8211; Desenvolvimento Ágil para Web 2.0</a>. O Blog <a href="http://e-tinet.com" >E-tinet - Simplesmente Tecnologia</a> tem autoria de Pedro Delfino dos Santos Neto. Para entrar em contato com o autor acesse <a href="http://e-tinet.com/contato" >/contato</a>. E visite o meu twitter em <a target="_blank" href="http://twitter.com/pedrodelfino" >@pedrodelfino</a> para saber o que eu estou fazendo.
<hr>
<h4>Curso Linux Ubuntu</h4>
Aproveite e visite o <a href="http://e-tinet.com/curso-linux-ubuntu" >http://e-tinet.com/curso-linux-ubuntu</a> conheça o conteúdo totalmente grátis.</p>
]]></content:encoded>
			<wfw:commentRss>http://e-tinet.com/blog/ruby-on-rails/otima-apostila-de-ruby-on-rails-desenvolvimento-agil-para-web-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
