Formulários Rails: form_with
O curso trata do form_with, o helper do Rails que este projeto usa para formulários ligados a um model. Mostra como form_with model: escolhe o método HTTP e o rótulo do botão para registros novos e salvos. Explica como o form builder gera campos com name, id e value deduzidos do model. Segue um campo chamado article[title] pelo corpo da requisição até params[:article][:title] e article_params. Depois percorre a mesma cadeia no formulário de configurações de identity e explica o token de autenticidade contra CSRF.
O que você vai aprender
- ✓Como o form_with model: monta formulários para registros novos e salvos
- ✓Como f.text_field e f.submit deduzem name, id, value e rótulo a partir do model
- ✓Como nomes de campo com colchetes viram params aninhados como params[:article][:title]
- ✓Como o param_key liga o formulário de configurações de identity ao settings_params
- ✓O que o token de autenticidade faz contra CSRF
De tags geradas para um formulário gerado
Controller: ações mostrou os campos de um formulário chegando como params[:article][:title] sem mostrar o que os enviou. Parâmetros e segurança abriu o article_params, params.require(:article).permit(:title), sem mostrar de onde vem a chave aninhada :article. Os dois apontaram para a mesma lacuna:…
Ler a aula completa grátis →Currículo
7 aulasDe tags geradas para um formulário gerado
Apresenta o form_with como o helper que gera um formulário cujos campos chegam como params[:article][:title].
form_with model: um helper para registros novos e existentes
Mostra o form_with model: gerando um formulário e como um registro salvo acrescenta um campo oculto _method patch.
O form builder: f.text_field e f.submit
Explica como f.text_field deduz name, id e value do model e como f.submit escolhe seu rótulo.
Onde article[title] chega: params[:article][:title]
Segue o nome de campo article[title] pelo corpo da requisição até params[:article][:title] e article_params.
A mesma cadeia, no formulário real de settings deste projeto
Percorre a mesma cadeia no formulário de configurações deste projeto, do param_key identity_user até settings_params.
O campo oculto que todo form_with já adiciona
Explica o campo oculto authenticity_token que o form_with acrescenta por padrão e como ele bloqueia envios forjados.
Juntando tudo: a forma completa do form_with
Revisa cada peça do form_with num formulário real, da ligação com o model até o token contra CSRF.