Documente Academic
Documente Profesional
Documente Cultură
Ol pessoal. Hoje vamos nos aprofundar sobre o RadRails, um excelente ambiente de desenvolvimento tanto para a linguagem Ruby como para seu framework Rails. Para isso, vamos fazer um CRUD (Create, Read, Update and Delete), que nada mais so do que as quatro operaes bsicas necessrias para trabalhar com banco de dados. Antes de comear, vejamos alguns pr-requisitos para este artigo: 1. Baixar e instalar o Ruby e o Rails http://www.imasters.com.br/artigo/5177/ruby/ruby_on_rails_-_parte_02_instalacao/ 2. Ter instalado o Java 1.4 ou superior (necessrio devido ao ambiente ser feito sobre o Eclipse IDE) http://java.sun.com/javase/downloads/index.jsp 3. Baixar e configurar o RadRails http://www.imasters.com.br/artigo/5301/ruby/radrails/ 4. Baixar e instalar o MySQL http://www.mysql.com/downloads
aplicao em produo. Cada um deles possui algumas diferenas que facilitam o trabalho do Rails nestes contextos. Embora possamos criar os trs bancos de dados, vamos utilizar apenas o de desenvolvimento neste artigo.
Figura 1 2. Na caixa de dilogo New Rails project digite usuarios em Project name. Mantenha os demais itens como est e clique no boto Finish. Neste momento o RadRails criar um projeto chamado de usuarios, que pode ser visto na view Rails Navigator. Se voc expandir o n deste projeto, perceber que diversos outros diretrios foram criados. O nome do projeto igual parte do nome do banco de dados. Em um projeto chamado de usuarios, Rails faz automaticamente referncias a trs banco de dados: usuarios_development (o qual voc j criou anteriormente), usuarios_test e usuarios_production.
Figura 2 Observe tambm que RadRails criou uma configurao de servidor. No caso, chamada de usuariosServer.
Figur a3
Criando um Model
Ruby on Rails trabalha no conceito (ou paradigma) do padro MVC (Model-ViewController). Em um outro artigo poderei at me ater a maiores detalhes a respeito do padro de desenvolvimento MVC, mas a princpio, entenda que para lidar com o banco de dados criado, usuarios_development, Rails usa um Model. Para criar o Model, selecione o projeto criado na view Rails Navigator e siga os passos: 1. Na parte inferior da IDE, clique na view Generators. 2. Na lista drop-down, selecione model. 3. Mantenha a opo Create marcada no boto de rdio.
4. Do lado direito do drop-down onde voc selecionou model, digite Usuario. 5. Clique no boto Go para gerar a classe Usuario.
Figur a4 Aguarde alguns instantes para que a IDE gere a classe. Observe que a view Console mostrar a execuo para a gerao da classe.
Figur a5 Com os passos executados para criar o Model, voc criou o nome de uma classe que trabalhar com uma tabela chamada usuario. Na view Rails Navigator, expanda o n do seu projeto. Em seguida expanda de app e models. D um duplo clique em usuario.rb. O arquivo usuario.rb ser aberto no Editor da IDE. Repare que o cdigo gerado contm apenas duas linhas. Simples no? Com apenas este cdigo, o Rails mapeia a tabela. Este model j est pronto para ser usado. Mas no se enganem, por trs disto h muito que vocs no esto vendo.
Figur a6
Figur a8 Para facilitar seu desenvolvimento, exiba o nmero de linhas do Editor, clicando com o direito do mouse sobre a faixa branca lateral esquerda. No menu de contexto, selecione o item Show Line Numbers
Figura 9 Para que voc compreenda o que este cdigo ir fazer, ser similar a uma tabela escrita em SQL, no MySQL, da seguinte forma:
CREATE TABLE usuarios ( id int(11) NOT NULL auto_increment, nome VARCHAR(255) NOT NULL, email VARCHAR(255) default NULL, login VARCHAR(20) NOT NULL, senha VARCHAR(20) NOT NULL, autori ado T!N!"NT(1) default NULL, R!#AR! "#! (id) )
Perceba que no Rails, o tipo string no MySQL o VARCHAR. Um campo do tipo VARCHAR do MySQL aceita um nmero mximo de 255 caracteres. Isso significa que se voc no disser quantos caracteres vo ser aceitos, o mximo criado. Para que um campo no seja NULO, voc utiliza a declarao: null=>false. Caso a inteno seja de dizer uma quantidade mxima de 20 caracteres em um campo, ento voc utiliza: limit=>20. O campo booleano no MySQL ditado por TINYINT. Por isso, no campo autorizado fora utilizado boolean. Na parte inferior do Workbench do RadRails, clique na view Rake Tasks. Clique no drop-down desta view e selecione o item db:migrate. Clique no boto Go para confirmar.
Figur a 10
Voc v a gerao da tabela na view Console, que chamada automaticamente pelo RadRails, para confirmar mostrando as mensagens migrating e migrated. O que est acontecendo, na realidade, caso voc no conhea Ruby on Rails, que o comando Rake foi invocado neste momento.
Figura 11
Criando um Scaffold
Em um bom ingls, scaffold tem mais de um significado. Um deles, scaffold (andaime) pode ser uma estrutura temporria que apia os construtores enquanto eles trabalham. Mas em Rails, a palavra scaffold um local para uma pgina Web temporria. A pgina fornece uma simples conectividade ao banco de dados, dando ao desenvolvedor o poder de manipul-lo. Em palavras mais simples, ele fornece uma estrutura bsica para operaes que temos na manipulao de dados como: inserir, atualizar, selecionar e excluir. Ele gera interfaces rpidas que ajudam o desenvolvimento at que seja adicionado os cdigos necessrios para o desenvolvimento real da aplicao. Para criar um scaffold, v a view Generators e siga os passos mostrados a seguir: 1. Na lista drop-down digite ou selecione scaffold. 2. Mantenha o boto de rdio Create selecionado. 3. No drop-down ao lado de scaffold (onde voc selecionou), selecione Usuario. 4. Clique no boto Go para criar.
Figura 13 Na view Rails Navigator, expanda app e tambm controller. Em controller voc visualiza o arquivo usuarios_controller.rb. A execuo do scaffold gerou a classe do modelo de dados, o controller e views para cada ao CRUD necessria. Como o model j existia, ele no foi criado.
Figur a 14 Como o Eclipse suporta a incluso de um browser interno, no RadRails no poderia ser diferente, uma vez que ele est sobre o Eclipse.
A mensagem de confirmao Server Error surgir, indicando que voc no iniciou o servidor. Ele pergunta se voc deseja iniciar o servidor. Basta clicar no boto Yes.
Figura 15 Observe que a porta do servidor de desenvolvimento usado pelo Ruby on Rails 3000. Dentro do RadRails, surgir um browser com uma pgina padro contendo na o endereo http://localhost:3000/. Acrescente no endereo o nome do seu projeto, ficando da seguinte forma: http://localhost:3000/usuarios Observe que j foi gerado uma pgina inicial. Alm de ter uma pgina inicial, tambm foram geradas as folhas de estilo (CSS) para a aplicao.
Figura 16 Clicando no link New usuario, voc levado a pgina de cadastros. Aqui, voc pode olhar o cdigo fonte e ver que no h tabelas, puramente Web 2.0.
Figura 17 Quando voc cria os usurios, observe que uma lista gerada, exibindo os cadastros j efetuados. Alm disso, voc ainda conta com dois links com comportamentos importantes: Edit e Destroy. O primeiro leva voc para o formulrio de edio dos dados cadastrados e o ltimo exclui o cadastro efetuado.
Figur a 18 Abrindo o arquivo controller usuarios_controller.rb, voc pode observar que ele possui cdigos com a chamada de comportamentos especficos, necessrios para a gerao do CRUD.
As pginas geradas para a interface podem ser vistas na view Rails Navigator, expandindo app>view>layouts e usuarios. Bom pessoal, a meta deste artigo foi de criar e testar um scaffold -- um prottipo simples para uma possvel interface Web mais complexa. Embora simples, no deixa de ser a base do desenvolvimento de muitas aplicaes Web. Nas prximas matrias vamos desenvolver aplicaes mais complexas, sempre utilizando uma IDE de ponta para um desenvolvimento mais produtivo.