Criando um projeto com Ruby on Rails passo a passo
Pré-requisitos
Este guia foi projetado para iniciantes que querem começar uma aplicação Rails a partir do zero. Ele não assume que você tem alguma experiência anterior com Rails. Entretanto, para obter o máximo proveito, você precisa ter alguns softwares instalados:
- A versão 2.1.x ou superior do Ruby.
- O gerenciador de pacotes RubyGems, que é automaticamente instalado com as versões 1.9 ou posteriores do Ruby.
- MySQL5 + phpMyAdmin ou outro gerenciador do MySQL.
O que é o Rails?
Rails é um framework de desenvolvimento de aplicações web escrito na linguagem Ruby. Ele foi projetado para tornar a programação de aplicações web mais fácil, fazer suposições sobre o que cada desenvolvedor precisa para começar. Ele permite que você faça mais com menos código comparado a outras linguagens e frameworks. Desenvolvedores Rails experientes também dizem que ele torna o desenvolvimento de aplicações web mais divertido.
Rails é um software opinativo. Isso torna o pressuposto de que nem sempre a melhor maneira de fazer as coisas é a melhor maneira. Se você aprender “O Caminho Rails”, você provavelmente vai descobrir um grande aumento na produtividade. Se você persistir em trazer velhos hábitos de outras linguagens para o seu desenvolvimento Rails, e forçar padrões que você aprendeu em outros lugares, você pode ter uma experiência não muito agradável.
A filosofia Rails inclui dois grandes princípios:
- Don’t Repeat Yourself: DRY é um princípio de desenvolvimento de software que afirma que “Cada pedaço de conhecimento deve ter uma única representação inequívoca, e autoritária dentro de um sistema.” Por não escrever a mesma informação mais de uma vez, o código do Rails é mais sustentável, mais extensível, e com menos bug.
- Convention Over Configuration: Rails tem suas opiniões sobre a melhor maneira de fazer muitas coisas em uma aplicação web, e padrões para este conjunto de convenções, em vez de exigir que você crie arquivos de configurações gigantes para especificar detalhes minuciosos.
Criando um novo projeto
A melhor maneira de usar este guia é seguir cada passo, nenhum código ou passo necessário para fazer esta aplicação exemplo poderá ser deixado de lado. Para obter um melhor aprendizado, você precisará, literalmente, acompanhar este guia sobre Ruby on Rails passo a passo.
Ao seguir este guia, você criará um projeto Rails chamado blog (um sistema de blog muito simples). Antes de você começar a construir seu aplicativo, você precisa ter certeza de que você tem o Rails instalado.
Instalação do Rails
No Mac OS X ou no Linux abra o Terminal, já no Windows, na janela “Executar” do menu Iniciar e digite “cmd”. Todos os comandos precedidos com um cifrão $ deve ser executado na linha de comando. Verifique se você possui uma versão atual do Ruby instalado:
$ ruby -v ruby 2.1.6
Se não for impresso a versão do Ruby, é porque você não tem ele instalado no seu computador. Existem várias ferramentas para ajudá-lo a instalar rapidamente o Ruby e o Rails no seu sistema. Usuários do Windows podem usar Rails Installer, enquanto os usuários de Mac OS X podem usar o Tokaido.
Para instalar o Rails, use o comando fornecido por RubyGems, o gem install:
$ gem install rails
Para verificar se você tem tudo instalado corretamente, você deverá ser capaz de executar o seguinte sem erros:
$ rails --version
Se este comando retornar algo como “Rails 4.2.4”, você está pronto para continuar.
Para continuar daqui pra frente, você precisará ter o MySQL 5 instalado em seu computador, este tutorial não abortará essa instalação.
Criando o aplicativo de Blog
Rails vem com uma série de scripts chamados geradores que são projetados para tornar sua vida mais fácil com o desenvolvimento através da criação de tudo o que é necessário para começar a trabalhar em uma tarefa particular. Uma delas é o novo gerador de aplicação, que fornecerá toda a estrutura de um projeto em Ruby on Rails.
Para usar este gerador, abra um terminal, navegue até o diretório onde você tem permissão para criar arquivos, e digite:
$ rails new blog -d mysql
Isto irá criar uma aplicação Rails chamado Blog em um blog diretório e instalar as dependências de gems que foram mencionados no Gemfile
usando o comando bundle install
. Como estamos utilizando o parâmetro -d mysql
, o arquivo de configuração de banco de dados “config/database.yml” será criado com algumas configurações pré-definidas do MySQL.
Depois de criar o aplicativo de blog, entre na pasta:
$ cd blog
O diretório blog tem os arquivos e pastas geradas automaticamente que compõem a estrutura de uma aplicação Rails. A maioria do trabalho de desenvolvimento deverá acontecer no diretório app
, mas aqui está um resumo básico sobre a função de cada um dos arquivos e pastas que o Rails cria por padrão:
Arquivo/Pasta | Propósito |
---|---|
app/ | Contém os controllers, models, views, helpers, mailers e assets da sua aplicação. Você irá se concentrar nesta pasta quando desenvolver com Rails. |
bin/ | Contém os script do rails. Também poderá ser adicionado outros scripts que você possa precisar para implantar ou executar seu aplicativo. |
config/ | Configurar rotas, banco de dados do aplicativo, etc. Esta parte você poderá acompanhar em detalhes na página Configurando Aplicação Rails (em inglês). |
config.ru | Rack de configuração para Rack de Servidores, utilizados para iniciar o aplicativo. |
db/ | Contém o esquema do banco de dados atual, bem como as migrações de banco de dados. |
GemfileGemfile.lock | Esses arquivos permitem que você especifique quais gems são necessárias para a sua aplicação Rails. Esses arquivos são usados pelo Bundler gem. Para mais informações sobre Bundler, consulte o site Bundler website. |
lib/ | Módulos de Extensão para sua aplicação. |
log/ | Arquivos de log da aplicação. |
public/ | A única pasta que pode ser acessado via browser. Contém arquivos estáticos e CSS/JS compilados. |
Rakefile | Esse arquivo localiza e carrega as tarefas que podem ser executados a partir da linha de comando. As definições de tarefa são definidos ao longo dos componentes do Rails. Em vez de alterar Rakefile, você deve adicionar suas próprias tarefas, adicionando arquivos para o diretório lib/tasks do seu aplicativo. |
README.rdoc | Este é um breve manual de instruções para a sua aplicação. Você deve editar esse arquivo para explicar para os outros o que sua aplicação faz, como configurá-lo, e assim por diante. |
test/ | Testes de unitários, fixtures, e outros tipos de teste. Veja mais detalhes em Testando Aplicações Rails (em inglês). |
tmp/ | Arquivos temporários (como arquivos de cache, pid, e sessão). |
vendor/ | Um lugar para todos os códigos de terceiros. Em uma típica aplicação Rails, isso inclui gems terceirizadas. |
Configurando os dados de conexão com o MySQL
Com o seu editor de texto, abra o arquivo config/database.yml
e informe os dados de conexão com o MySQL instalado no seu ambiente de desenvolvimento, o arquivo deverá ficar mais ou menos assim:
default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: seu_senha host: localhost development: <<: *default database: blog_development
Feito isso, salve e feche o arquivo.
Gerando o banco de dados
Após configurar o arquivo de conexão com o banco de dados, será necessário criar as bases de dados que serão utilizadas pela sua aplicação. Para isso, utilizaremos o comando rake
. Rake é o Ruby Make, um utilitário autônomo do Ruby que substitui o utilitário make
do Unix, e usa como base os arquivos Rakefile
e .rake
para criar uma lista de tarefas. No Rails, Rake é usado para tarefas de administração comuns, e também, para executar tarefas fora da aplicação.
Para gerar as bases de dados, digite:
$ rake db:create
Após executar o comando acima, será criado duas tabelas no MySQL, uma que será utilizada em ambiente de desenvolvimento blog_development
e outra para o ambiente de teste blog_test
.
Hello, Rails!
Para começar, vamos mostrar um texto na tela rapidamente. Para fazer isso, você precisa rodar sua aplicação Rails.
Iniciando o Servidor Web
Você já tem uma aplicação Rails que funciona. Para vê-la, você precisa para iniciar um servidor web em sua máquina de desenvolvimento. Você pode fazer isso executando o seguinte comando no diretório blog:
$ bin/rails server
Este comando irá iniciar WEBrick, um servidor web distribuído com Ruby por padrão. Para ver o seu aplicativo em ação, abra uma janela do navegador e acesse http://localhost:3000
. Você deverá ver a página de informações padrão do Rails, semelhante a esta:
Para parar o servidor web, aperte Ctrl+C na janela do terminal onde ele está rodando. O cursor aparecerá novamente em seu prompt de comando assim que o servidor parar. Para a maioria dos sistemas UNIX, incluindo Mac OS X, será um sinal de dólar $. No modo de desenvolvimento, o Rails geralmente não exige reiniciar o servidor; as alterações feitas nos arquivos serão automaticamente detectados pelo servidor, exceto quando você altera os arquivos de configurações da aplicação.
Diga “Hello, Rails”
Para fazer o Rails dizer “Hello”, você precisa criar pelo menos um Controller e uma View.
Um controlador serve para receber solicitações específicas para a aplicação. Routing decide qual controlador receberá a requisição. Na maioria das vezes, o roteador simplesmente redireciona uma requisição para uma ação com o mesmo nome no controlador, mas em alguns casos as rotas podem requisitar diferentes ações do servidor. O propósito de cada ação é coletar informações para serem ser apresentadas em uma View.
Uma View (visão) serve para exibir as informações em um formato legível. É importante distinguir que o controlador é o responsável por coletar informações, e não a visão. A visão deve apenas exibir a informação. Por padrão, modelos de visão são escritos em uma linguagem chamada eRuby (embutido no Ruby) que é processada pelo ciclo pedido no Rails antes de serem enviados para o usuário.
Para criar um novo controlador, você terá de executar o gerador de “controlador” dizendo que você quer que o controlador chamado de “home” deverá ter uma ação chamada “index”, exemplo:
$ rails generate controller home index
Rails criará vários arquivos e uma rota para você.
create app/controllers/welcome_controller.rb route get 'welcome/index' invoke erb create app/views/welcome create app/views/welcome/index.html.erb invoke test_unit create test/controllers/welcome_controller_test.rb invoke helper create app/helpers/welcome_helper.rb invoke assets invoke coffee create app/assets/javascripts/welcome.js.coffee invoke scss create app/assets/stylesheets/welcome.css.scss
O mais importante deles é o controlador, localizado em app/controllers/home_controller.rb
, e a visão, localizado em app/views/home/index.html.erb
.
Abra o arquivo app/views/home/index.html.erb
com seu editor de texto. Exclua todo o código existente no arquivo e substitua pela seguinte linha de código:
<h1>Hello, Rails!</h1>
Configurando a página Home da aplicação
Agora que temos o controlador e a visão, precisamos dizer ao Rails quando queremos que o “Hello, Rails!” apareça. No nosso caso, queremos que apareça quando acessar a URL raiz da nossa aplicação, http://localhost:3000
. No momento, a mensagem “Welcome aboard” está ocupando este lugar.
Em seguida, você tem que dizer ao Rails onde sua página inicial atual está localizada.
Abra o arquivo config/routes.rb
com seu editor.
Rails.application.routes.draw do get 'welcome/index' # The priority is based upon order of creation: # first created -> highest priority. # # You can have the root of your site routed with "root" # root 'welcome#index' # # ...
Este é o arquivo de roteamento da sua aplicação onde contém as entradas em uma DSL especial (linguagem específica de domínio) que diz ao Rails como conectar as solicitações de entrada aos controladores e ações. Este arquivo contém muitas rotas de exemplo em linhas comentadas, e uma delas, mostra-lhe como ligar a raiz da sua aplicação a um controlador e ação específica.
Para configurar o controlador home
e a ação index
como página principal da aplicação, você deverá inserir a seguinte linha:
root 'home#index'
Inicie o servidor web novamente e acesse http://localhost:3000
em seu navegador. Em seguida, você verá a mensagem “Hello, Rails!” que você colocou no arquivo /views/welcome/index.html.erb
.
Criando um cadastro de Post
Uma das grandes novidades do Rails são os geradores de códigos fornecidos através de linha de comando. Com esses geradores, é possível criar um CRUD (Criar, Ler, Atualizar e Excluir) em questão de minutos.
Vamos finalizar nossa primeira aplicação criando um simples cadastro de Posts, para isso, entre com o comando:
$ rails g scaffold Post titulo:string descricao:text
Em seguida, acesse o seu cadastro de Post através do link http://localhost:3000/posts/
.
Pronto, sua primeira aplicação em Ruby on Rails está pronta!
Digital Ocean – Servidores / VPS a partir de 5$
Para você que pretende ter um servidor estável e com baixo custo, recomendamos você utilizar os serviços da Digital Ocean, eles oferecem VPS a partir de 5$, no Brasil não tem nada perto desse valor, muito bom, vale a pena testar, e o atendimento do suporte técnico é incrível. No primeiro mês você ganha 10$ para testar.
Você precisa fazer login para comentar.