Formulários HTML

Formulários HTML

1 Formulários em Rails

form é uma tag do HTML que permite o envio de dados para o servidor. Os parâmetros principais são:

action
descreve a URL para onde os dados serão enviados
method
diz qual o verbo HTTP deve ser usado, GET ou POST.

Entre <form ...> e </form> são colocados os vários campos e um botão especial para o envio. Procure a documentação para detalhes.

Rails oferece alguns métodos para gerar formulários (forms) de maneira compacta e integrada aos modelos (enquanto forms pertencem a view, os dados são normalmente relacionados a models).

form_for recebe uma instância de um modelo e um bloco. Infere a action a partir da instância e usa o bloco para definir o conteúdo.

Para forms gerais, existe a variante form_tag. Tirando o uso do modelo, é praticamente igual à anterior.

Os valores dos campos são passados em um hash params que fica disponível para o método chamado no controlador.

Uma versão mais flexível e mais recente é form_with, que funciona das duas formas.

1.1 form_with

Recebe 5 parâmetros e um bloco:

model
instância de um modelo, o default é nil. Se passado, infere o valor de scope e url
scope
define um nome para o conjunto dos dados, na prática coloca o nome como prefixo dos nomes dos campos e agrupa em um hash dentro de params. O default é nil
url
local para onde os dados são enviados. A rota correspondente envia para o controlador. O default é nil.
format
pouco usado, indica a forma de passar os dados, por exemplo json. O default é nil.

O quinto parâmetro é um hash com outras opções, veja a documentação. A opção local, quando true, impede o uso de envio assíncrono. O defaul é false.

Veja maiores detalhes em https://api.rubyonrails.org/v5.1.2/classes/ActionView/Helpers/FormHelper.html

Author: Marco Dimas Gubitoso

Created: 2020-03-18 qua 13:39

Emacs 25.2.2 (Org mode 8.2.10)

Validate

Última atualização: quarta-feira, 18 mar. 2020, 13:40