10
Você comprou um livro de Rails, e agora?
on May 10, 2008
Muita gente me pergunta sobre isso:
“Akita, comprei o livro X, mas ele não é de Rails 2, eu consigo aprender com esse livro? Os exemplos vão funcionar?”
Vamos lá: se eu não estou enganado, tirando o livro do Obie Fernandez, nenhum outro livro cobre tudo do Rails 2 até agora (o do Dave Thomas ainda está em beta). Portanto, o que fazer? Esperar para comprar quando sair um livro novo?
Não. Você pode aprender a maior parte do Rails com qualquer um dos livros. O meu livro Repensando a Web com Rails (aliás, fiquei sabendo que eles estão com um estoque novo para pronta entrega, então aproveitem) e os outros ou começam na versão 1.1 ou 1.2. Na introdução do livro eles devem especificar exatamente qual é (pode ser 1.2 ou 1.2.6 por exemplo). O problema é que rodar um exemplo feito para Rails 1.1 pode falhar no Rails 2.0 por causa de pequenas modificações entre elas.
O comando que todos dizem para instalar Rails (depois de ter instalado Ruby) é este:
gem install rails
ou
gem install rails --include-dependencies
Na versão mais nova do RubyGems não precisa mais dessa opção—include-dependencies. Mas uma coisa que poucos livros explicam é que você pode ter RubyGems de múltiplas versões na mesma máquina! Ou seja, você pode ter Rails 1.1 ou Rails 2.0 rodando em paralelo.
Para isso faça o seguinte:
gem install rails --version 1.1
Com isso você conseguirá instalar versões anteriores de Rails. Mas não é só isso. O segundo comando que todos os livros colocam para iniciar um projeto em Rails (aquele que já cria todos os diretórios, etc) é assim:
rails meu_projeto
O problema é que o comando “rails” vai usar o Rails mais atual na sua máquina. Para rodar esse comando explicitamente dizendo qual versão usar, faça assim:
rails _1.1_ meu_projeto
E pronto, agora dentro desse diretório “meu_projeto”, todos os outros comandos como ‘rake’, ou ‘script/generate’ vão usar a versão que você especificou. Note inclusive que isso vale também para outras gems como o Capistrano. Você pode fazer assim:
cap _1.0_ deploy
Dessa forma você ainda pode fazer deployment usando uma receita antiga da versão 1.0 (que não é totalmente compatível com a 2.x).
Ou seja, sim, compre os livros que existem atualmente. Não fique aguardando porque senão você estará perdendo tempo. Nenhum livro é suficiente para aprender tudo. Todos os livros são bons para que se tenha pelo menos o “grosso”, mas depois disso é sua responsabilidade de evoluir sozinho. Por exemplo, o livro do Obie vai ficar parte obsoleto em breve porque o Rails 2.1 está para sair e isso trará coisas que obviamente o livro dele não cobre. O novo do Dave Thomas provavelmente vai cobrir 2.1, mas até ele sair nós já estaremos vendo coisas novas da 2.2 ou mesmo 3.0!
Portanto, não espere! Quem cruza os braços e usa isso como ‘desculpa’ para ainda não começar está perdendo tempo. Compre qualquer um dos livros e entenda que o assunto não acaba nesses livros, tem muito mais!




Akita, perguntei isso em outro tópico mas tive resposta. Ouvi dizer que você iria lançar uma edição nova do seu livro, mais atualizada e tal… é vero? Se sim, quando sai mais ou menos?
Aí vai uma lista com livros que cobrem Rails 2:
The Art of Rails – http://www.amazon.com/gp/product/0470189487
Simply Rails 2 – http://www.amazon.com/Simply-Rails-2-Patrick-Lenz/dp/0980455200
Practical REST on Rails 2 Projects – http://www.amazon.com/Practical-REST-Rails-Projects/dp/1590599942/
Akita, estou comessando agora a aprender rails, notei uma grande diferença em algumas coisas do rails 1.x para o rails 2, como o scaffold, mudou muito, tentei fazer alguns exemplos ultilizando o rails 2 mas não é a mesma coisa.
Esse tipo de coisa aparentemente não dá para seguir desses livros mais antigos, você sugere um umpouco mais atual?
Muito bom! Demorei demais para chegar a essa página, havia gastado 140 reais num livro gringo com video e tudo mais….. e BOOM! Tudo que o cara expelicava no vídeo não fazia sentido… busquei no site deles ( http://railsspace.com ) e nada de rolar como eles explicavam…. agora sim! depois que encontrei este post foi igual a tomar um “Doril”… Tomou Doril a dor sumiu…
Parabéns pela dica!