freeCodeCamp/guide/portuguese/ruby/ruby-on-rails/index.md

118 lines
7.2 KiB
Markdown
Raw Normal View History

---
title: Ruby on Rails
localeTitle: Ruby on Rails
---
# Ruby on Rails
[Ruby on Rails](http://rubyonrails.org/) é uma estrutura do lado do servidor (gem) construída na linguagem Ruby para criar websites. O Rails torna o desenvolvimento da web mais rápido, fácil e divertido. Inclui tudo o que você precisa para criar aplicativos fantásticos e tem uma grande comunidade. O Rails foi criado por David Heinemeir Hansson e atualmente está na sua quinta versão. O Rails enfatiza o uso de outros padrões e paradigmas bem conhecidos de engenharia de software, incluindo [convenção sobre configuração (CoC)](https://en.wikipedia.org/wiki/Convention_over_configuration) , [não repetir a si mesmo (DRY)](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) e o padrão de registro ativo. O Rails é uma estrutura de [modelo-exibição-controlador (MVC)](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) , fornecendo estruturas padrão para um banco de dados, um serviço da Web e páginas da web. Ultimamente, o Rails integrou um módulo de API para tornar a criação de serviços da Web mais rápida e fácil.
## Instalando Rails
O Rails é baixado da mesma forma que qualquer outra gem do Ruby: com o comando `gem install` . Antes de fazer o download, precisaremos fazer o [download do Ruby](https://www.ruby-lang.org) . Depois, estamos a apenas 3 palavras de começar com Ruby on Rails:
```shell
$ gem install rails
```
## Configurando o banco de dados
O Rails é fornecido com o sqlite3 como o banco de dados padrão, que é um arquivo simples no disco. Você precisa instalar o MySQL ou PostgreSQL se você quiser usar algo mais robusto.
## Criando um aplicativo Rails
1. Depois de instalar o Ruby on Rails, é muito simples criar uma nova aplicação, só precisamos de mais 3 palavras:
```shell
$ rails new your_application_name
```
* Se você quiser usar o MySQL `shell $ rails new <application_name> -d mysql`
* Se você quiser usar o Postgres `shell $ rails new <application_name> -d postgresql`
1. Este comando criará uma pasta com o _nome_ do _seu _aplicativo__ informado no último comando. O próximo passo é ir para o novo diretório que você acabou de criar:
```shell
$ cd your_application_name
```
3. Obtenha as gemas e os pacotes de software necessários antes de executar seu aplicativo:
```shell
$ bundle install
```
4. Para executar o servidor rails e ver se tudo correu de acordo, também é rápido:
```shell
$ rails server
```
Não poderia ser mais simples! Bem, isso não é realmente 100% verdadeiro, nós poderíamos torná-lo ainda menor, reduzindo o comando do `rails server` para:
```shell
$ rails s
```
5. Agora, com o seu navegador preferido, vá para `http://localhost:3000` e você verá: "Yay! Você está no Rails!"
### Método alternativo para criar um aplicativo Rails
1. Crie um novo diretório:
```shell
$ mkdir <application_name>
```
2. Vá para o novo diretório:
```shell
$ cd <application_name>
```
3. Crie o aplicativo Rails usando a notação de ponto do Unix. Isso resulta na atribuição do nome do diretório ao novo aplicativo.
```shell
$ rails new .
```
4. Comece a explorar o framework do aplicativo que você acabou de criar. A estrutura da pasta é organizada de acordo com a tabela abaixo:
| Arquivo / Pasta | Objetivo |
| ----------- | ------- |
| app / | Contém os controladores, modelos, visualizações, ajudantes, malas diretas, canais, trabalhos e ativos para seu aplicativo. Você se concentrará nessa pasta pelo restante deste guia. |
| bin / | Contém o script rails que inicia seu aplicativo e pode conter outros scripts usados para configurar, atualizar, implantar ou executar seu aplicativo. |
| config / | Configure as rotas, banco de dados e mais do aplicativo. Isso é abordado com mais detalhes em Configurando Aplicativos Rails. |
| config.ru | Configuração de rack para servidores baseados em rack usados para iniciar o aplicativo. |
| db / | Contém seu esquema de banco de dados atual, bem como as migrações de banco de dados. |
| Gemfile, Gemfile.lock | Esses arquivos permitem que você especifique quais dependências gem são necessárias para o seu aplicativo Rails. Esses arquivos são usados pela gem do Bundler. Para obter mais informações sobre o Bundler, consulte o site do Bundler. |
| lib / | Módulos estendidos para sua aplicação. |
| log / | Arquivos de log do aplicativo. |
| público / | A única pasta vista pelo mundo como é. Contém arquivos estáticos e ativos compilados. |
| Rakefile | Este arquivo localiza e carrega tarefas que podem ser executadas a partir da linha de comando. As definições da tarefa são definidas em todos os componentes do Rails. Em vez de alterar o Rakefile, você deve adicionar suas próprias tarefas adicionando arquivos ao diretório lib / tasks do seu aplicativo. |
| README.md | Este é um breve manual de instruções para sua aplicação. Você deve editar esse arquivo para informar aos outros o que seu aplicativo faz, como configurá-lo e assim por diante. |
| teste / | Testes unitários, acessórios e outros aparelhos de teste. Eles são abordados nos aplicativos Testing Rails. |
| tmp / | Arquivos temporários (como arquivos cache e pid). |
| vendedor / | Um local para todos os códigos de terceiros. Em uma aplicação típica do Rails, isso inclui gems vendidas. |
| .gitignore | Este arquivo informa ao git quais arquivos (ou padrões) ele deve ignorar. Veja Github - Ignorando arquivos para mais informações sobre como ignorar arquivos. |
Um ótimo lugar para começar a usar esse framework incrível é ler a [página de Primeiros passos](http://guides.rubyonrails.org/getting_started.html) .
## Convenção sobre Configuração
_Convenção sobre Configuração_ significa que um desenvolvedor só precisa especificar aspectos não convencionais do aplicativo. Por exemplo, se houver uma classe `Sale` no modelo, a tabela correspondente no banco de dados será chamada de `sales` por padrão. É somente se alguém se desvia dessa convenção, como chamar a tabela "produtos vendidos", que o desenvolvedor precisa escrever código em relação a esses nomes. Geralmente, as convenções do Ruby on Rails levam a menos código e menos repetição.
## O que é MVC?
Modelo (registro ativo) contém a lógica de negócios e interage com o banco de dados. Exibições (exibições de ação) todos os arquivos HTML e estrutura. O controlador (controlador de ação) interage com as visualizações e o modelo para direcionar as ações do aplicativo.
## DRY - não se repita
_Não se repita_ significa que a informação está localizada em um lugar único e sem ambigüidade. Por exemplo, usando o módulo ActiveRecord do Rails, o desenvolvedor não precisa especificar os nomes das colunas do banco de dados nas definições de classe. Em vez disso, o Ruby on Rails pode recuperar essas informações do banco de dados com base no nome da classe.
## Ruby on Rails é open source
Não é apenas gratuito para usar, você também pode ajudar a torná-lo melhor. Mais de 4.500 pessoas já contribuíram com código para o [Rails](https://github.com/rails/rails) . É mais fácil do que você pensa se tornar um deles.