Los formularios nos permiten pedirle información a los usuarios. Por ejemplo, puedes crear un formulario que pida el nombre del usuario y envíe esa información a POST /hello:
El atributo method de la etiqueta <form> puede ser get o post.
El atributo action de la etiqueta <form> define el path o el URL a donde se quiere enviar la información del formulario.
<label> se utiliza para mostrar una etiqueta para el campo de entrada. El atributo for debe tener el id del campo al que se quiere relacionar.
El atributo name del campo de entrada (en este caso el campo de texto) define la llave que se va a utilizar para enviar al servidor.
El botón se utiliza para enviar el formulario (el type="submit" es importante!).
Definiendo la ruta
La ruta se debería definir de la siguiente forma (si el method es post):
post '/hello'doend
La información de cada campo viene en el hash params:
post '/hello'do"Hola #{params[:name]}"end
Otros campos de entrada
Además de los campos de texto existen otro elementos que nos permiten capturar información del usuario.
Recuerda que el atributo id se utiliza para identificar el elemento en el documento y name para definir la llave con la que se va a enviar al servidor.
Un campo de contraseña
Es parecido a un campo de texto pero no muestra los caracteres:
En HTML5 ahora existen muchos más tipos de campos como email, url, number y date, entre otros.
Un área de texto
Un área de texto es como un campo de texto pero de varias líneas:
Una lista desplegable
Un botón de radio
En este caso se envía al servidor el value de la opción seleccionada.