Como prometi anteriormente iremos criar nosso primeiro projeto utilizando Ruby on Rails \o/
Inicialmente vamos atualizar nosso RubyGem, e faça isso constantemente:
# gem update --system
Agora crie um diretório para armazenar seus projetos e acesse-o:
$ mkdir projetos $ cd projetos
E para criar um projeto RoR:
$ rails --database prostgresql primeiroprojeto
Este comando cria um novo projeto em RoR utilizando o PostgreSQL como banco de dados. A estrutura criada pelo Rails é padrão e deve ser mantida para que possa ser reconhecido como um projeto Rails. Serão criadas as seguintes pastas:
app – para os códigos-fonte.
config – para os arquivos de configuração.
db – para os scripts do banco de dados.
lib – para as bibliotecas do Rails.
log – para os logs de erro.
public – para as imagens, CSS, JavaScript.
script – para os scripts de gerenciamento.
test – para os testes da aplicação.
tmp – para os arquivos temporários.
vendor – para outras bibliotecas.
Com o projeto criado podemos configurar a conexão com o banco de dados. Para isso abra o arquivo database.yml que se encontra no diretório config e altere o username e o password para o usuário e a senha criado no seu PostgreSQL. Altere para os 3 ambientes do RoR (desenvolvimento, teste e produção):
development: adapter: postgresql encoding: unicode database: primeiroprojeto_development username: usuario password: senha test: adapter: postgresql encoding: unicode database: primeiroprojeto_test username: usuario password: senha production: adapter: postgresql encoding: unicode database: primeiroprojeto_production username: usuario password: senha
No terminal, logue como o usuário do banco para poder criar o banco de dados para o projeto:
# su - usuarioDoBanco $ rake db:create
Agora vamos criar o controller da aplicação. Para isso acesse o diretório do projeto e gere um controller denominado controle:
$ ruby script/generate controller controle
Acesse o diretório ../app/controllers/ para adicionar um método no controle criado.
Abra o arquivo controle_controller.rb e adicione o método que define um valor para a variável de instância:
class ControleController < ApplicationController def index @helloworld = "Hello world!!!" end end
Para finalizar o projeto crie um arquivo chamado index.erb no diretório ../app/view/controle e adicione a linha abaixo para imprimir a variável de instância definida no controle:
<%= @helloworld %>
Projeto criado e configurado, agora só falta rodar. Inicie o servidor WEBrick que utiliza como padrão a porta 3000:
$ ruby script/server
Acesse seu projeto via browser http://localhost:3000/controle
Agora é só começar a brincar.
Até breve 😉
Falta mais conteúdo de exemplos…
SOCORRO!
TENHO UM MES PARA APRENDER RUBY ON RAILS E SO DA ISSO!
We’re sorry, but something went wrong.
We’ve been notified about this issue and we’ll take a look at it shortly.
Jeferson
Para poder tentar lhe ajudar preciso saber qual erro que aconteceu.
Tem como você postar o que é exibido no console/terminal/prompt quando você inicia o servidor Webrick?
Muito bom, aqui vai minha pequena contribuição:
1) Não é necessário logar com usuário do banco para rodar o rake db:create, uma vez que você já informou usuário e senha no database.yml;
2)Pelo seu prompt, imagino que você esteja no linux, logo não é necessário digitar ruby script/comando, basta script/comando, partindo da raiz do projeto, lógico;
3) Ao criar o controller, você já pode criar a action index junto, assim:
$ script/generate controller nome_do_controler nome_da_action
$ script/generate controller controle index
Isso aí, seja bem vinda ao mundo rails!
É muito bom receber comentários que enriquecem os posts.
Obrigada pela contribuição que facilita ainda mais o trabalho com o RoR 😉
Fala Brena 🙂
Bacana seu primeiro Hello World e ver que tem gente devorando Rails pelo Espírito Santo a dentro =P
Uma dica simples e “boba” quanto ao comando de geração é que ao invés de usar –database você pode simplesmente usar -d 🙂
Obrigada pela dica 😉
Estou achando o Rails muito interessante e empolgante. Além de acreditar e esperar que cresça sua utilização aqui no ES.