Controller: ações
O curso trata das actions de controller no Rails, a partir de um controller real deste projeto. Uma action é um método público comum numa classe que herda de ApplicationController, ligado pela string controller#action da rota. As aulas explicam os nomes convencionais index, show, new e create, como variáveis de instância levam dados à view e como a action renderiza seu template sem chamar render. Também apresentam o params e percorrem um create que salva o registro e depois redireciona ou renderiza o formulário de novo com status 4xx.
O que você vai aprender
- ✓O que é uma action de controller e como o controller#action da rota aponta para ela
- ✓O sentido dos nomes convencionais de action index, show, new e create
- ✓Como variáveis de instância entregam dados da action para a view
- ✓Como a renderização implícita escolhe o template com o nome da action
- ✓Como o params guarda valores de segmentos dinâmicos e de formulários enviados
- ✓Como o create salva, redireciona no sucesso e renderiza :new com unprocessable_content na falha
O que é uma controller action?
Rotas Rails: fundamentos terminou com get "partners" => "public/pages#partners", as: :partners, citando um destino sem abri-lo. Aqui está esse destino neste projeto:
Ler a aula completa grátis →Currículo
7 aulasO que é uma controller action?
Uma action de controller é um método público que coordena outros objetos e roda uma vez por requisição.
index, show, new, create: quatro nomes convencionais
Os nomes index, show, new e create têm sentidos convencionais: listar, exibir, formulário em branco e salvar.
@variables: a ponte para a view
Variáveis de instância definidas na action continuam vivas depois do método, e assim a view consegue lê-las.
Renderização implícita: nenhuma chamada render necessária
Uma action sem render ou redirect_to renderiza o template com o nome dela na pasta do controller.
params: uma primeira olhada
O objeto params guarda valores da requisição vindos de segmentos dinâmicos da URL e de campos de formulário aninhados.
create: salvar, depois redirecionar
Uma action create salva o registro, redireciona no sucesso e renderiza :new com status 4xx na falha.
Juntando tudo: um controller, totalmente lido
A action partners é relida para mostrar quais ideias das aulas ela usa e quais ficam com o create.