Trilha Pleno Trilha

Form objects: lógica complexa

O curso trata de form objects no Rails: classes Ruby simples que fazem o papel de model por trás de um formulário e guardam as validações de contexto dele. Ele explica ActiveModel::Model e ActiveModel::Attributes, validações condicionais, próprias e entre campos, e formulários cujos campos se espalham por vários models. Mostra como o form object entrega dados validados a um service object que grava dentro de uma transação. Também troca o accepts_nested_attributes_for por objetos de entrada e termina com padrões de RSpec para testar formulários e o fluxo até o serviço.

O que você vai aprender

  • ✓Quando um formulário pede um form object e quando as validações do model bastam
  • ✓Atributos com tipo e integração com form_with via ActiveModel::Model e ActiveModel::Attributes
  • ✓Validações condicionais, próprias e entre campos, com guard clauses
  • ✓Como dividir o trabalho entre controller, form object e service object
  • ✓Registros filhos aninhados sem accepts_nested_attributes_for
  • ✓Testes de form objects com RSpec, de specs unitárias a specs de fluxo
Prévia grátis · Aula 1 8 min de leitura

O que é um form object?

Imagine uma página de inscrição num curso. O usuário preenche um formulário, mas nos bastidores esse único envio precisa criar um User, um Enrollment e um prêmio inicial de XP. Qual model deve validar todos esses campos? O User não sabe nada de matrículas, e o Enrollment não sabe nada de senhas.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...