Peepcode sponsors akitaonrails.com Locaweb sponsors akitaonrails.com

Screencast de Restful Rails Fácil!

AkitaOnRails / 25.Jan.2008 at 08:31pm

Update 28/01: Parece que eu e o James Golick estávamos pensando a mesma coisa. Ele acabou de gravar um screencast sobre seu outro excelente plugin “attribute_fu” e eu gravei o “resource_controller”. Ele acabou de postar ambos screencasts no blog dele. Dêem uma olhada.

Esta é a segunda tentativa de fazer um screencast (longo, 100Mb e 1 hora). Acho que meu último O Primeiro Screencast de Rails 2.0 foi razoavelmente bom, mas muito muito longe de ser suficiente. Eu agradeço a todos que viram e que ajudaram a divulgar uma das peças de maior sucesso que já fiz.

Eu queria explorar conceitos de Restful Rails no screencast. Antes de mais nada, continuo recomendando o excelente tutorial do Geoffrey Grosenbach no Peepcode. Meu screencast não tem perto do nível de qualidade dele. Mas por outro lado como eu sei que muita gente não entende inglês suficiente bem para isso, resolvi gravar dois vídeos: uma versão em inglês e outra diferente em português com uma introdução maior aos conceitos do Restul do Rails.

Assistam o Vídeo

  • Vimeo (Stream|Download)
  • Veoh (Stream Preview|Download)
  • RapidShare (Alta qualidade, 40Mb, em RAR).
  • pela UFRJ (Alta qualidade, 40Mb download|agradecimentos ao Marcos Tapajós e à UFRJ)
  • pelo Terra (Senha: 1BEC399B – Baixa Qualidade, 70Mb não comprimido, agradecimentos ao Ramon Soares)

Explicação

E eu enfatizo “Restful do Rails” porque muita gente torce o nariz quando se fala em Rails e REST na mesma frase. A isso eu respondo: favor me indicar uma implementação melhor no Rails. Enquanto só disserem “não é tão bom quanto poderia” e cruzar os braços, para mim, isso e nada é a mesma coisa. A implementação do Rails é boa o suficiente para qualquer projeto. O objetivo do Rails nunca foi 100%, sempre foi 80%, essa é a filosofia. Vivam com isso.

Este screencast na verdade foca no plugin resource_controller do James Golick, um dos plugins mais interessantes que já vi. É uma dessas grandes idéia que – quem sabe – talvez encontre lugar no Rails Core um dia, da mesma forma como as idéias do Sexy Migrations foram incorporadas no Rails 2.0.

O conceito é que agora tratamos as ações de um controller de uma maneira mais ou menos padronizada (pela abstração dos verbos HTTP), e isso poderia perfeitamente se refatorada para longe do dia-a-dia de desenvolvimento. Então, em vez de ter o scaffold criando um monte de código repetido em cada controller, por que não ter um controller vazio – e ainda assim totalmente funcional -, para começar?

Outra idéia esperta foi criar helpers dinâmicos para rotas nomeadas nas views. Assim você pode mover suas views pelo projeto, e até reusá-los em diferentes seções sem ter que ficar copiando e colando diferentes rotas nomeadas entre elas. Isso é particularmente útil em controller polimórficos e rotas com namespace como mostro nesse vídeo


Restful Rails Fácil – fixed from akitaonrails on Vimeo.



Agora estou disponibilizando este screencast pelo Vimeo, Veoh e RapidShare. Mas não sei se é a melhor maneira. Infelizmente meu blog não tem banda para suportar um download de 100Mb (e outro de 70Mb na versão em inglês). Então, se alguém tiver uma idéia melhor de onde outro host (onde todo mundo possa ver), sou todo ouvidos.

18 Comments

algo como o http://www.esnips.com/, e afins, nao poderia ser ??

qto a hospedagem, ou você assina o site5 (1tb de transferencia por 7 dolares) ou poe o vídeo no rapidshare.

opa só de ter o plugin resource_controller já ta valendo

A versão em português ta com bug, só upou um minuto.

Em inglês a imagem ficou meio estranha, o audio ta ótimo.

Nos tempos em que eu upava material raro do pink floyd o google se dava melhor quando eu ja enviava em mp4, acho que assim a engine nao recompactava o arquivo.

Rapidshare é uma boa apesar de ficar meio subversivo eheheheh

Acabei de colocar no RapidShare (link no artigo). Vamos ver se melhora :-)

Estou baixando e vou liberar ele no meu disco virtual do terra.

Assim que eu tiver OK informo o link aqui.

Tentei ver a versão em inglês no Google Video mas, realmente, a imagem fica bem prejudicada. A versão em português acabou sendo “cortada” aos 1:06 de vídeo.

Baixei agora o arquivo do RapidShare. Está perfeito.

Valeu Akita, mais oportuno impossível!

Conforme prometido tai ai o link e a senha pra baixar o arquivo do meu disco virtual do terra.

LINK: http://discovirtual.terra.com.br/vd.cgi?+_wi=1201353259-15153-10201294&_we=13

SENHA: 1BEC399B

Peguei pelo rapidshare, tanto o áudio como a imagem estão ótimos, inclusive o áudio ta melhor que do primeiro screencast.

Fábio, realmente muito interessa esse plugin e também esclareceu minhas dúvidas sobre o conceito Restful no Rails.

Aproveitando o assunto sobre screencasts, também estou lançando o primeiro no meu blog, está simplório pois é uma pequena introdução de como iniciar no Rails, da uma olhada depois!

abraços

[OFF Topic] Hehehehe. Akita, olha o “fácil” na sua URL. Tá usando o sluggable?

Seria possível fornecer o link dos screencasts anteriores do microblog ?

Abraços,

Heronim

Akita, Parabéns pelo tutorial, muito esclarecedor o conceito RESTful e muito boa explicação sobre o plugin resource_controller.

Mas eu tenho uma duvida sobre Nested Routes. Quando tenho mais de duas rotas aninhadas, como fica no rails 2.0 onde utiliza :has_many

como ficaria no caso dessa url categories/1/posts/1/comments?

Teria que ficar como no rails 1.2? onde utiliza blocos

Teh mais.

Excelente Akita. Este plugin mata uma dúvida que eu andava tendo, sobre DRY…ele evita aquela pancada de código igual pra tudo que é controller.

parabéns, esse screencast ficou show de bola.

Teria como rotear as ações restful eliminando as rotas padrão?

Por exemplo:

map.connect “admin/noticias/nova”, :controller => “admin/noticias”, :action => “new” map.namespace :admin do |admin| admin.resources :noticias end

Assim adicionaria uma nova rota substituindo “new” por “nova”, mas a rota “new” ainda funcionaria. Teria um meio de eliminar a “new”?

É que fica estranho essas urls em inglês pra um aplicativo em português.

Também gostaria de ter acesso ao screencast do microblog.

Akita, o video baixado pelo rapidshare não tá abrindo no linux de jeito nenhum. Tentei até com o vlc e não abriu. Tem algum problema com ele?

Abraço.

Leave a Comment