Ir para o conteúdo

Ajuda

Voltar a Ajuda
Tela cheia Sugerir um artigo

Guia de comandos do Rails

31 de Maio de 2017, 10:52 , por Blogoosfero - 0sem comentários ainda | No one following this article yet.
Visualizado 1032 vezes

A plataforma de comunicação livre e soberana Blogoosfero é desenvolvida usando como base o software livre brasileiro Noosfero.

Como você já sabe, o Noosfero é uma plataforma web livre para redes sociais e de economia solidária que possui as funcionalidades de Blog, e-Portfolios, CMS, RSS, discussão temática, agenda de eventos e inteligência econômica colaborativa num mesmo sistema! O Noosfero utiliza a linguagem de programação Ruby com framework Rails.

Para que você possa conhecer um pouco mais o framework usado para desenvolver o noosfero e consequentemente o Blogoosfero disponibilizamos aqui um resumo dos comandos Rails baseado no artigo de O Guia de Comandos do Rails de Leonardo Scorza.

Conheça os comandos, arrisque uns códigos e, quem sabe, de repente, você estará desenvolvendo aplicações e compartilhando conhecimento com o mundo.

Img rails console 01 1

Os comandos do Rails

Existem muitos comandos do Rails (que são rodados no console, em linha de comando) que podem acelerar o desenvolvimento do seu projeto e diminuir o retrabalho, eu fiz uma lista com todos os comandos (e argumentos para esses comandos) que me parecem relevantes na prática e que podem tornar sua vida mais fácil.

Note que neste guia usamos o comando rails  ao invés de rake porque seguimos o padrão do Rails 5, porém se você estiver usando uma versão mais antiga do Rails e tiver problemas na hora de rodar tarefas como rails db:seed, tente usar rake db:seed.

 

Rodando o Servidor

rails s [SERVER] [OPTIONS]

Rodar o servidor de desenvolvimento do Rails talvez seja o comando mais básico que exista, mas existem alguns argumentos opcionais que desenvolvedores mais iniciantes não conheçam, então vamos lá:

a) Subindo o servidor de desenvolvimento do Rails no localhost:3000

rails server
ou simplesmente
rails s

 

b) Subindo usando outro servidor no localhost:3000

rails s webrick

Argumentos: webrick (ou outro servidor), caso você esteja usando outro servidor que não seja o padrão.

 

c) Subindo o servidor de desenvolvimento do Rails na porta 4000 no localhost

rails s -p 4000

Argumento: -p seguido do numero da porta que você deseja (4000, 8080 etc)

 

d) Subindo o servidor de desenvolvimento utilizando as configurações de production no localhost:3000

rails s -e production

Argumento: -e seguido do nome do ambiente que você deseja (production, development, staging e etc)

 

e) Subindo o servidor de desenvolvimento como Daemon (vai rodar independente de você estar com o console aberto) no localhost:3000

rails s -d

Argumento: -d

 

f) Sobe o servidor de desenvolvimento do Rails “no IP 127.0.0.5” na porta 3000

rails s -b 127.0.0.5

Argumento: -b seguido do IP desejado (127.0.0.5 e etc)

 

Rodando o Console

rails c [ENVIRONMENT] [OPTIONS]

Rodar o console do Rails pode ajudar a depurar nosso sistema, vamos conhecer algumas possibilidades:

 

Rodando o console

rails c

 

Rodando o console no ambiente de production

rails c production

Argumentos: production (ou outro ambiente desejado tal como development, staging e etc) diz para o Rails console que você deseja usar as configurações do ambiente escolhido

 

Rodando o console no Sandbox (Não altera os dados do db ao final do processo)

rails c --sandbox

Argumentos: –sandbox é ideal para você realizar seus testes sem afetar os dados da sua aplicação, ao final da utilização do rails console ele vai dar rollback nas mudanças que você fez no banco de dados.

 

Acessando o Console do Banco de Dados

rails db

Este é um comando pouco conhecido que te permite acessar o console do seu próprio banco de dados. Quando você roda esse comando o rails verifica qual é o seu banco de dados e usa seus dados de acesso (config/database.yml) para te logar no console do seu banco de dados.

 

Acessando o Banco de dados

rails db

 

Manipulando o Banco de Dados

rails db:[OPTIONS]

Criar o banco de dados, rodar as migrations e etc são passos comuns no dia a dia do desenvolvimento com o Rails, mas existem alguns argumentos um pouco menos conhecidos.

 

Criando o banco de dados:

rails db:create

 

Deletando o banco de dados:

rails db:drop

 

Resetando o banco de dados:

Realiza o drop (apaga os dados) e em seguida o create (volta zerado).

 

Rodando as migrations (alterando o banco de dados):

rails db:migrate

 

Desfazendo a última migration:

rails db:rollback

 

Desfazendo as últimas 3 migrations:

rails db:rollback STEP=3

Argumentos: STEP, esse argumento permite você voltar quantas migrations desejar.

 

Refazendo as últimas 3 migrations:

rails db:migrate:redo STEP=3

Se você se arrependeu do rollback, você pode refazer as últimas x migrations.

Argumentos: STEP, esse argumento permite você refazer quantas migrations desejar.

 

Populando o banco de dados:

rails db:seed

O seed é um arquivo que fica em “/db/seeds.rb” que você pode rodar para popular seu banco de dados com algumas informações pré definidas. Isso é útil para você configurar rapidamente seu ambiente de desenvolvimento com usuários padrões e etc.

 

Pegando a versão atual do banco de dados:

rails db:version

 

Rodando a migrations em production:

rails db:migrate RAILS_ENV=production

Argumentos: production (Ou outro ambiente que deseje)

 

Rodando códigos Ruby com o contexto do Rails

rails r [OPTIONS] [ALVO]

O rails runner permite que você rode métodos de models, arquivos da lib e etc diretamente do console e usando o contexto do seu Projeto. Isso pode ser útil em algumas circunstancias, como rodar uma rotina que sincronize sua aplicação com uma base dados externo em caso de falha dos seus workers ou algo assim. (Use com sabedoria)

 

Rodando um método de um Model

rails r "User.sync"

Augumentos: “User.sync” (Ou qualquer outro método de um model) é o alvo do runner que será executado.

 

Rodando um arquivo da Lib em Production

rails runner -e production lib/sync_users.rb

Argumentos:

  • “lib/sync_users.rb” (Ou qualquer outro path para um arquivo ruby) é o alvo do runner que será executado.
  • -e (ou outro nome de ambiente) diz qual ambiente usar (production, stagging, development e etc).

 

Informações rápidas sobre a aplicação

rails about

Um dos comandos que eu não conhecia e descobri enquanto fazia a pesquisa para este artigo é o rails about, ele pode ser uma “mão na roda” para quando você entra em um novo projeto e precisa se contextualizar sobre algumas informações básicas como a versão do Rails, Database utilizado, Middleware e etc.

 

Pegando as informações do App no ambiente de development:

rails about

Um exemplo de retorno do comando:

Captura de tela de 2017 05 31 12:36:31

 

Pegando as informações do App em Production

RAILS_ENV=production rails about

Obs: Você pode mudar production para qualquer ambiente que deseje.

 

Alguns números sobre a sua Aplicação

rails stats

O rails stats devolve alguns números interessantes sobre o seu App como a quantidade de classes de models que você possui, o numero de classes de Controller e também os números de classes de teste que você possui. Isso dá uma visão do tamanho que seu App possui entre outros insights.

 

Pegando os números:

rails stats

Um exemplo de resultado para uma aplicação pequena:

Captura de tela de 2016 09 24 15 08 54

 

Rails Generate

rails generate [OPTIONS] [ARGUMENTS]

O rails generate talvez seja a parte mais importante para acelerar o desenvolvimento do seu App porque com ele você consegue gerar Controllers, Models, Migrations e etc em um único comando, vamos descobrir as possibilidades.

 

Gerando um Controller User com um método create:

rails generate controller User create

Argumentos:

  • User (ou outro nome que você deseje) é o nome do controller que vai ser gerado.
  • create (ou outro nome que você deseje) é o nome do método que você deseje.

Arquivos gerados:

Captura de tela de 2016 09 24 16 12 12

 

Gerando um Model (e migration) Car com os campos type(string) e description(texto):

rails generate model Car type:string description:text

Argumentos:

  • Carro (ou outro nome que você deseje) é o nome do model que vai ser gerado.
  • type:string, campo type que vai ser criado no banco de dados do tipo string.
  • description:text campo description que vai ser criado no banco de dados do tipo Texto.

Arquivos gerados:

captura-de-tela-de-2016-09-24-16-20-48

 

Gerando um Mailer User:

rails generate mailer UserMailer

Argumentos:

  • UserMailer (ou outro nome que você deseje) é nome do mailer que vai ser gerado.

Arquivos gerados:

captura-de-tela-de-2016-09-24-16-54-19

 

Gerando um Scaffold Travel com os campos date(string) e title(string):

O Scaffold gera um CRUD básico para sua aplicação com views, controllers, routes, migrations e etc.
Pode ser uma maneira interessante de criar rapidamente uma estrutura para seu App.

rails generate scaffold Travel date:datetime title:string

Argumentos:

  • Travel (ou outro nome que você deseje) é o nome que vai ser usado nos arquivos gerados.
  • date:datetime, campo do tipo datetime que vai ser usado nas migrations, views e etc.
  • title:string, campo do tipo string que vai ser usado nas migrations, views e etc.

Arquivos gerados:

captura-de-tela-de-2016-09-24-16-28-00

*OBS: Se você quiser evitar que o Scaffold gere as migrations você pode usar o arqumento –skip-migration

 

Rails Destroy

rails destroy [OPTIONS] [ARGUMENTS]

O rails destoy te ajuda a remover os arquivos criados através do rails generate, isso é bem útil quando você utiliza um nome incorreto na hora de gerar seus arquivos e etc.

 

Destruindo o Controller User

rails destroy controller User

Argumentos:

  • User (ou outro nome que você deseje) é o nome do controller que vai ser destruído.

Resultado no console:

captura-de-tela-de-2016-09-24-17-02-33

 

Destruindo o Model Car

rails destroy model Car

Argumentos:

  • Car (ou outro nome que você deseje) é o nome do model que vai ser destruído.

Resultado no console:

captura-de-tela-de-2016-09-24-17-04-15

 

Destruindo o Mailer User

rails destroy mailer UserMailer

Argumentos:

  • UserMailer (ou outro nome que você deseje) é o nome do mailer que vai ser destruído.

Resultado no console:

captura-de-tela-de-2016-09-24-17-07-41

 

Destruindo o Scaffold Travel

rails destroy scaffold Travel

Argumentos:

  • Travel (ou outro nome que você deseje) é o nome do scaffold que vai ser destruído.

Resultado no console:

captura-de-tela-de-2016-09-24-17-05-56

 

Conclusão e mais comandos

Esse guia pode te ajudar a descobrir e se lembrar de alguns comandos na hora de desenvolver uma nova aplicação, principalmente se você está começando no mundo do Rails.

Você pode descobrir mais alguns comandos e alguns argumentos direto na documentação do rails clicando aqui ou rodando no console:

rails generate


0sem comentários ainda

    Enviar um comentário

    Os campos realçados são obrigatórios.

    Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.

    Cancelar