ruby on rails 2.0 iniciando um projeto 19/Fev/2008
Posted by Timóteo in Programação, Ruby, Software livre.Tags: rails 2.0, Ruby, Ruby on Rails
2 comments
Voltando a falar do Rails…..
Vou iniciar de novo um projeto de controle de fluxo de alunos no laboratório, usando como base os tutoriais presentes no Terminally Incoherent e no Akita on Rails. Então, vamos lá:
Depois de instalar o ruby, as gemas e o rails (veja aqui como fazer isso), vamos criar o projeto (Nota: é ainda mais fácil do que com o rails 1.2).
criando o projeto e o banco de dados
1. Não mudou nada em relação a criar o projeto. É só digitar (lembrando que o nome do projeto é relatorio):
rails relatorio
[editado]
para definir o mysql como banco de dados do projeto, pode-se colocar a opção
-d mysql
logo após o nome do projeto. No nosso caso, ficaria assim
rails relatorio -d mysql
[/editado]
2. Agora, sim, mudanças… Editar o arquivo config/database.yml, dentro da pasta do projeto (O Rails mudou o SGBD padrão para o SQLite3, então, vamos ter que modificar realmente o arquivo de definição de banco de dados para usá-lo com MySQL, que agora é da Sun). O meu arquivo ficou assim:
defaults: &defaults adapter: mysql encoding: utf8 username: root password: socket: /var/run/mysqld/mysqld.sockdevelopment: database: sits_development <<: *defaults test: database: sits_test <<: *defaults production: database: sits_production <<: *defaults
Uma coisa que eu achei legal foi a parada do “defaults”. Dá pra definir os parâmetros que são iguais para os três bancos e utilizá-los nas outras definições do arquivo, só chamando um “atalho” para a definição dos defaults.
Depois de editado o arquivo de configuração, vamos criar os bancos de dados. Prepare-se, esta é uma etapa muito complicada, que envolve códigos SQL extremamente complexos. Muito cuidado, digite no terminal, dentro da pasta do projeto:
rake db:create:all
Ué, cadê o SQL extremamente complicado? Foi pro espaço (O final do parágrafo anterior foi só pra assustar… :p). Se você estiver duvidando, abra o mysql da forma que desejar e veja que os bancos de dados foram realmente criados.
criando o scaffold e as tabelas
Vamos agora, criar as tabelas para o banco de dados. Aqui, vou criar a tabela de alunos, já que é a mais simples do nosso projeto. Esqueça o SQL, os campos serão criados dentro do script de scaffold, da seguinte forma:
script/generate scaffold Aluno cpf:string nome:string curso:string
Agora, geramos o banco de dados utilizando o comando
rake db:migrate
Se você quiser olhar no mysql, verá que a tabela alunos foi realmente criada. Tudo isso sem uma única linha sequer de SQL. Legal, né?
Criando uma rota para a página principal
Para criar uma rota, é só editar o arquivo config/routes.rb. Por enquanto, vamos definir a página de cadastro de alunos (que já foi criada automaticamente pelo scaffold) como sendo a principal. Precisamos apenas incluir a linha
map.root :controller => 'alunos'
logo abaixo de
ActionController::Routing::Routes.draw do |map|
Agora, depois de salvar o arquivo, deletamos a página public/index.html (Essa página é aquela que diz “Welcome Aboard”).
Pra ver o resultado, iniciamos o server com o comando
script/server
e verificar a aplicação no endereço localhost:3000 dentro do navegador.