Ruby on Rails Tutorial
Neste artigo vamos entender os conceitos de formação de uma aplicação Ruby on Rails, instalar seus quesitos e implementar um primeiro mini projeto Hello World.
Guia do artigo:
- O que é Ruby on Rails?
- O Modelo MVC
- Bibliotecas do Ruby on Rails
- A linguagem Ruby on Rails
- Como instalar o Ruby on Rails
- Instalação do Ruby on Rails no Mac OS
- Como instalar Ruby on Rails no Windows
- Instalação no Linux
- Primeira Aplicação Ruby on Rails
- Controller no Ruby on Rails
- Template no Ruby on Rails
O que é Ruby on Rails?
Ruby on Rails é um framework que faz o desenvolvimento, implantação e manutenção de uma aplicação web mais fácil e esse utiliza uma linguagem orientada à objeto conhecida como Ruby. Para introduzi-lo é preciso que o desenvolvedor conheça algumas de suas filosofias. Essas são:
- DRY-Don't Repeat Yourself: Em português "Não repita você mesmo", significa que enquanto o desenvolvimento no Rails tem a mesma parte do código, ou o mesmo propósito em entidades diferentes, isso quer dizer que existe uma melhor maneira de escrever sua aplicação;
- Convention over Configuration: Em português "Convenção antes de Configuração", significa que invés de determinar a configuração, Rails possui convenções estruturais e nomeadas que implementam o often-cited principle of least surprese(POLS);
- Less Software: Em português "Menos Software", significa utilização de mais convenções, menos códigos, menos complexidades e, consequentemente, menores quantidades de bugs.
Um framework é uma coleção de bibliotecas e ferramentas capazes de facilitar o desenvolvimento. Um bom framework fornece uma básica, mas completa, infraestrutura para construir uma aplicação. Esses fatos tornam o Rails um dos melhores. Afinal, este possui uma plataforma independente, completa e licenciada gratuitamente (open source).
O desenvolvimento das aplicações em Rails são implementadas usando o MODEL-VIEW-CONTROLLER, mais conhecido como arquitetura MVC e trabalhado com as bibliotecas Active Record, Action View e Action Controller. Estes serão citados abaixo no artigo.
O Modelo MVC
Esse padrão de arquitetura utilizada divide a aplicação logicamente em três categorias: modelo, vista e controle (Model-View-Controller). Cada parte do padrão MVC é uma entidade capaz de ser construída e testada separadamente. O modelo representa os dados, a vista representa a interface do usuário e o controle comanda as ações, ou seja, o modelo(model) é a informação que a aplicação trabalha, a vista (view) é a representação e o controle (controller) é o diretor da interação entre eles.
O ciclo dessa estrutura começa quando o usuário interage com a interface (view) e chama um evento; o controller recebe o chamado da view e acessa o model, atualizando frequentemente a interface.
Bibliotecas do Ruby on Rails
No Ruby on Rails, cada biblioteca tem uma tarefa especializada. Quando juntas, essas individuais entidades fazem o mapeamento diretamente do padrão MVC:
- Active Record: Uma biblioteca responsável pela abstração e interação do banco de dados;
- Action View: Um sistema de template que gera os documentos HTML que o usuário recebe como resultado de uma solicitação à aplicação;
- Action Controller: Uma biblioteca parar manipular os dois: o fluxo e os dados do banco para serem exibidos na view.
A linguagem Ruby on Rails
Muitas outras linguagens requerem que você escreva o código e copile para checar os resultados e os erros. Porém, o Ruby é uma linguagem de programação consistente e elegantemente orientada à objeto e o melhor de tudo é a dinâmica, o que quer dizer que você trabalha com a linguagem "viva", ou seja, você receberá um feedback à cada comando dado.
O interpretador interativo é irb no Terminal(caso esteja utilizando Linux ou Mac) ou Cmd(Se está utilizando o Windows). Para começar uma sessão, digite:
$ irb
irb(main):001:0>
O Ruby possui um pacote chamado RubyGems responsável pelo gerenciamento do sistema com função de instalar bibliotecas e utilidades muito importantes para Rails. A partir da versão 2.0.0, não é necessário baixar separadamente porque ele já vem incluído.
Como instalar o Ruby on Rails
Para desenvolver em Rails no seu computador serão necessários três passos:
- Instalar o Ruby;
- Instalar o Rails;
- Instalar o SQLite, que é o banco de dados padrão.
Serão necessárias algumas ferramentas, como por exemplo o git durante a instalação de pacotes e algumas gems que são bibliotecas de arquivos Ruby reusáveis.
Instalação do Ruby on Rails no Mac OS
Para instalar o Ruby on Rails no MAC (nesse artigo vamos usar a versão X 10.8 Mountain Lion), você deve ter em sua máquina:
- XCode: Este está disponível na App Store, gratuitamente e pode ser sua fonte para copilar seu código Ruby.
-
Homebrew: é um pacote criado para OS X que é escrito em Ruby. Esse irá te ajudar a instalar outras partes. Para instalar entre no Terminal e digite o seguinte código:
ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
-
RVM: Agora você precisa instalar uma ferramenta comum do Ruby chamada Ruby Version Manager (RVM). Este irá ajudar a gerenciar versões de Ruby e várias gems que você talvez use em seus projetos. Como com o Homebrew, basta apenas um comando no Terminal:
curl -L https://get.rvm.io | bash -s stable
Se estiver usando o Mavericks e o código acima não funcionar, rode no terminal o seguinte código:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
-
Ruby: A linguagem Ruby já vem pré instalada no seu Mac. 0 pacote 2.0.0 conta com RubyGem . Para checar, rode no Terminal o seguinte código:
ruby -v
Caso seja apresentada uma versão mais antiga da linguagem, então iremos atualizar para a versão 2.0.0. Use o seguinte código:
rvm install 2.0.0
Após o final da instalação, precisamos dizer ao RVM qual versão do Ruby nós queremos usar. Para isso será necessário digitar o seguinte código:
rvm use 2.0.0
Para testar se a sua máquina está trabalhando com tal número use o código a seguir:
ruby -v
O que irá retornar no terminal é: ruby 2.0.0p481 e outros dados que dependem de atualizações e horários de instalação.
-
Rails: Finalmente, instalaremos o framework que precisa de apenas um comando:
gem install rails
Pronto! Você já tem o Ruby, Rails e SQLite no seu computador.
Como instalar Ruby on Rails no Windows
Para instalar o Ruby on Rails no Windows, vamos precisar seguir os procedimentos abaixo:
-
Ruby: No Windows, começamos com a linguagem. Para instalar você precisará entrar no site .
De acordo com sua máquina, você clicará no Ruby 2.0.0-p481 ou Ruby 2.0.0-p481(x64). Após o download do installer, você irá clicar no icon, continuar e depois escolher onde quer que a pasta da instalação fique e o que gostaria de instalar junto com o pacote Ruby.- Td/Tk support: fornece ao Ruby uma interface gráfica para usuário (GUI = Graphical User Interface);
- Add Ruby executables to your PATH: adiciona-se o ruby como executável;
- Associate .rb and .rbw with this Ruby installation: arquivos com tal formato serão associados ao ruby.
O recomendado é que os dois último sejam marcados. O Td/Tk support depois pode ser instalado e é utilizado para aplicações mais avançadas. Após o término, entre no command prompt(Iniciar > cmd) e digite o seguinte código:
ruby --version
A reposta deve ser: ruby 2.0.0p481 e outros dados que dependem de atualizações e horários de instalação.
-
Rails: Como Ruby 2.0 conta com RubyGems, basta atualizarmos com o comando:
gem update -system
Para instalar o Rails, o comando gem pode demorar um pouco, então digite novamente no cmd:
gem install rails
Para checar:rails -v
-
SQLite: Entre no site do SQLite:e baixe dois arquivos: sqlite e sqlitedll. Opte sempre pelos mais atualizados disponíveis. Esses arquivos estarão em formato .zip. Unzip os dois arquivos e os coloque dentro da pasta C:\Ruby20\bin ou onde você à colocou. Para saber se foi corretamente instalado, entre no cmd e digite o seguinte comando:
sqlite3 -version
A resposta será a versão do sqlite que você baixou. Para terminar ainda falta a instalação da biblioteca Ruby, que permite o contato entre ele e o SQLite. Para isso, escreva o seguinte código no prompt:
gem install sqlite3-ruby
Pronto! Você tem tudo instalado começar uma aplicação na sua máquina com Windows.
Instalação no Linux
Linux (e sistemas UNIX-based em geral) tem várias particularidades, mas também muito em comum. Essas instruções serão baseadas no Ubuntu Linux, mas devem ser aplicadas para a maioria de sistemas UNIX.
Antes de começar, é necessário atualizar seu Ubuntu. Abra o terminal e escreva o seguinte código:
$ sudo apt-get update
O programa apt-get possui um índice de cachede todos os programas e suas versões em um repositório para procura mais rápida. Rodando o comando update garante-se que essa lista será a mais recente possível.
Além disso, precisamos instalar os itens abaixo:
-
Curl: É uma biblioteca que suporta questões que envolvem URL. Para facilitar iremos utilizá-la. Basta digitar no Terminal seguinte código:
$ sudo apt-get install curl
-
Ruby: Antes de instalar o Ruby, são necessárias algumas bibliotecas para os componentes que estão sendo instalados. Dê um enter com o comando:
$ sudo apt-get install build-essencial curl
Agora, como no Mac, iremos usar o Ruby Version Manager(RVM), para caso existam outras versões de Ruby instaladas na máquina. Digite o seguinte código:
$ curl –L https://get.rvm.io | bash –s stable
Para ter certeza que o Ruby já está na sua máquina digite o comando:
ruby --version
-
Rails: Agora as RubyGems já estão instaladas. Logo, coloque esse comando:
$ gem install rails
Depois de algum tempo, para verificar o Rails e sua versão use o código:rails --version
-
SQLite: Com o apt-get apenas será necessário um comando:
$ sudo apt-get install sqlite3 libsqlite-dev
Se tudo ocorrer normalmente, você poderá verificar a versão da instalação com:$ sqlite –-version Agora para criar um relacionamento entre o Ruby e o SQLite vamos precisar de uma biblioteca Ruby que permite esse contato. Utilize o seguinte comando:
$ sudo gem install sqlite3-ruby
Pronto! Agora você pode começar a explorar e criar aplicações Rails no Linux Ubuntu.
Criando sua Primeira Aplicação Ruby on Rails
A partir de agora, independentemente de qual seja seu sistema operacional, você pode utilizar e seguir esse artigo na sua máquina.
Para criar projetos é preciso utilizar o terminal, onde você dará comandos seguidos da palavra rails dentro do diretório que deseja. Nessa parte do artigo iremos introduzir o que qualquer iniciante precisa fazer como sua primeira aplicação: um “Hello World”.
Lembre-se que você não precisa criar uma pasta para o projeto porque ao utilizar o comando new, uma pasta com o nome da aplicação será criada automaticamente. Então abra o Terminal, entre no diretório que deseje e digite:
$ rails new hello
Após esse comando serão criados vários arquivos dentro de um novo diretório hello gerado. O Terminal irá mostrar todas as pastas criadas e algumas delas são:
create
create README
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/views/layouts/application.html.erb
create app/mailers
…
Observe que foi criado um subdiretório chamado app. Nele estão as views, models e controllers do padrão MVC que tiveram seus conceitos introduzidos nesse artigo.
Os helpers fazem parte das bibliotecas e irão ajudar o “relacionamento” entre views e controllers. No app também estarão os mailers que não foram citados antes, mas farão a parte de questões de e-mails da aplicação.
Agora iremos colocar o mini projeto no web server local para que esse possa ser testado. Não foi escrito nenhum código, porém, o Rails possui uma tela inicial pra você. Mas antes, tenha certeza que está dentro do diretório de sua aplicação no Terminal e que suas gems estão atualizadas. Para isso, use o seguinte código:
$ bundle install
Quando suas gems estiverem terminado a revisão e instaladas, escreva o código:
$ rails server
Ao inicializar, aparece o endereço de IP 0.0.0.0 na porta 3000. Não se assuste com esses zeros. Eles apenas significam que o servidor está rodando localmente na sua máquina enquanto roda no Terminal. Então entre em qualquer browser e acesse a URL http://www.localhost:3000/ e verá a página de Hello World do Ruby on Rails, como mostra a Figura 1.
Gerando um Controller no Ruby on Rails
Primeiramente, pare o servidor local no Terminal pressionando Ctrl+C que irá deixa-lo na pasta do projeto. Agora, iremos criar um controller para enviarmos a mensagem Hello World.
O comando rails generate cria certos arquivos para seu projeto. Você está lidando com uma requisição e um ciclo de resposta para criar certos arquivos, logo você criará um controller responsável por saudar assim:
$ rails generate controller salutation
O controller e arquivos relacionados à ele, como views, test e helper, serão criados. Você poderia criar na mão, mas o generate acelera a produção.
Agora, para mostrar o “Hello World” será preciso modificar o arquivo app/controllers/salutation_controller.rb criando uma ação. Abra esse arquivo no seu editor e faça as seguintes mudanças:
class SalutationController < ApplicationController
def hello
@message = ‘Hello World!’
end
end
As ações são implementadas como métodos em Ruby, onde def é a chave. Dentro do método que você criou tem uma variável instanciada chamada message com o valor que colocaremos no browser.
Gerando um Template no Ruby on Rails
A ação foi criada com sucesso, logo, o próximo passo é adicionar algum HTML para ser mostrado na web. Com o padrão MVC, que separa os arquivos, esse código ficará nas views.
O padrão é sempre criar a view com o nome da ação no controller. Então, ao acessar app/views, você verá que o diretório salutation já foi criado, porém sem arquivos. Abra uma nova aba no seu editor, nomeie-o como hello.html.erb e salve-o dentro de app/views/salutation.
Você deve estar se perguntando porque o formato no final de um arquivo HTML é .erb. Esse formato faz parte do Erb Templating library, uma biblioteca do Rails responsável por permitir o uso de código Ruby dentro de um código HTML.
A sintaxe do Ruby é introduzida com <%= %>, quando mostrará um valor no HTML, ou <% %>, quando apenas terá lógica, conhecidas como Embedded Ruby output tags (em português, tags de saída).
Entre no arquivo app/views/salutation/hello.html.erb e adicione a seguinte sequência:
<html>
<body>
<h1><%= @message %></h1>
</body>
</html>
Agora você deve avisar ao Rails como responder para o URL e a responsável será routes.rb localizada dentro do diretório config. No momento não se preocupe muito com detalhes, pois é apenas o início e ainda lhe faltam informações que serão dadas aos poucos. Abra config/routes.rb no editor de texto e substitua o que está escrito (não precisa apagar os comentários, esses tem # antes das frases):
Hello::Application.routes.draw do
get ‘:controller(/:action(/:id(.:format)))’
end
Você está pedindo para que a mensagem seja mostrada no browser na URL http://localhost:3000/salutation/hello. Ao abrir, sua mensagem “Hello World!” estará aparecendo.
Espero que esse artigo tenha ajudado com a instalação e conceitos que são importantes para o desenvolvimento web.
Saiu na DevMedia!
- Autenticação no ASP.NET MVC:
Neste curso você aprenderá a implementar um mecanismo de autenticação em aplicações ASP.NET MVC. Criaremos aqui um projeto que contará com cadastro de usuários, login, logout e alteração de senha, recursos fundamentais para qualquer aplicação que possui áreas de acesso restrito a usuários logados. - Controle de acesso no Laravel com ACL:
Neste curso vamos aprender como implementar um sistema de autorização utilizando o Laravel, framework PHP mais utilizado no mundo. Para isso, partiremos de uma aplicação que possui toda a parte de registro e autenticação de usuários. - ASP.NET MVC e Identity: Autorização de usuários com claims:
Neste curso aprenderemos a implementar um mecanismo de controle de acesso usando o ASP.NET Identity, que nos permite atribuir papéis (roles) aos usuários e a partir disso definir quais páginas e menus ele pode visualizar.
Saiba mais sobre Ruby ;)
- Padrões
arquiteturais em Ruby:
Este artigo demonstra o uso de ArchRuby para expressar padrões e boas práticas arquiteturais que, uma vez preservados, contribuem para a manutenibilidade do sistema de software. - Refatorações em Ruby: Utilizando a técnica Extract Class:
Conheça a técnica de refatoração Extract Class e saiba como utilizá-la na linguagem Ruby para melhorar a qualidade do seu código. - Arrays e Blocos com Ruby utilizando o IRB:
Veja neste artigo como desenvolver em Ruby utilizando Arrays e Blocos. Os Arrays possuem diversos métodos que ajudam a facilitar o trabalho dos desenvolvedores, enquanto os blocos estão entre as grandes novidades trazidas pelo Ruby. -
Criando uma aplicação
simples com Ruby On Rails:
Construção de uma aplicação simples para demonstrar recursos interessantes disponibilizados pelo framework Ruby On Rails
Artigos relacionados
-
DevCast
-
DevCast
-
Artigo
-
Artigo
-
Artigo