Console Rails (IRB)
O curso trata do console do Rails, aberto com bin/rails console ou bin/rails c. O console é o IRB, o shell interativo do Ruby, com toda classe da app já carregada. Não entram servidor, navegador nem requisição HTTP. As aulas criam uma instância de model e chamam seus métodos, depois usam os objetos app e helper para visitar rotas e chamar view helpers. Também mostram o reload! para código editado, o modo inspect, a variável underscore e o modo sandbox, que desfaz toda escrita na saída.
O que você vai aprender
- ✓Abrir e fechar o console com bin/rails console, bin/rails c, exit e Ctrl+D
- ✓Rodar Ruby puro e as classes da app no prompt sem require
- ✓Criar instâncias de model e chamar seus métodos sem navegador
- ✓Visitar rotas com app e chamar view helpers com helper
- ✓Recarregar código com reload!, ler a saída do modo inspect e reaproveitar resultados com _
- ✓Fazer experimentos com --sandbox, em que as escritas são desfeitas na saída
Iniciando o console Rails
Até agora este arco tratou de bin/rails server, Puma e um navegador enviando requisições HTTP. Há outro jeito de rodar código Rails que pula o navegador, o servidor e o HTTP: o console do Rails.
Ler a aula completa grátis →Currículo
7 aulasIniciando o console Rails
Abre o console com bin/rails console, uma sessão IRB com a app carregada, e sai dele com exit.
Ruby puro, com sua app já carregada
Ruby puro funciona igual no console, e toda classe da app já está carregada sem require.
Testando models sem navegador
Cria uma instância de Article e chama published? no prompt, sem controller, view ou rota.
Dois objetos especiais: app e helper
Usa app para mandar caminhos pelas rotas e helper para chamar view helpers como link_to e pluralize.
reload! e o modo inspect
Mostra o reload! para pegar código editado, a saída do modo inspect com aspas e a variável _.
Modo sandbox: experimentos sem consequência
Roda bin/rails console --sandbox, com toda escrita numa transação desfeita quando a sessão termina.
Juntando tudo: uma sessão de console completa
Percorre uma sessão em sandbox que junta todas as aulas: models, app, helper, reload! e modo inspect.