Formularios
Aunque es posible crear manualmente los formularios para crear y editar recursos, Rails trae unos métodos de ayuda que te van a permitir reutilizar y escribir menos código.
Formularios asociados a modelos
Para crear un formulario asociado a un modelo utiliza form_for
. Por ejemplo, asumiendo que estamos creando el formulario para la siguiente acción new:
Podemos utilizar form_for
para crear un formulario asociado al modelo @book
en la vista:
Si @book
es un nuevo registro se crea un formulario a la ruta POST /books
.
Si @book
ya está almacenado en la base de datos se crea un formulario a la ruta PATCH /books/:id
.
Eso quiere decir que podemos reutilizar el mismo código tanto para crear como para actualizar los registros.
Campos de entrada
Rails viene con unos métodos de ayuda para crear los campos del formulario. Aunque es posible crearlos manualmente con HTML, los métodos se encargan del nombramiento y asociar el campo al valor que está en el modelo.
Los campos se crean utilizando la variable que se le pasó en el bloque del form_for
, en este caso f
.
label
se utiliza para crear una etiqueta <label>
asociada al campo.
text_field
se utiliza para crear una etiqueta de tipo <input type="text">
.
submit
se utiliza para crear un botón de submit <input type="submit">
cuyo texto puede ser "Create Product" o "Update Product" dependiendo si el registro está ya creado o no.
Otros campos de entrada incluyen:
text_area
- crea un área de texto:check_box
crea una caja de selección:date_field
password_field
radio_button
- crea un botón de radio:hidden_field
- crea un campo ocultoemail_field
- crea un campo de emailurl_field
- crea un campo de URLcollection_select
- crea una lista desplegable
Formularios no asociados a modelos
En algunas ocasiones vas a querer crear formularios que no están asociados a ningún modelo. Por ejemplo, para crear un formulario de búsqueda.
Para eso existe el método de ayuda form_tag
y los campos que terminan en _tag
:
Si quieres aprender más sobre formularios de búsqueda y cómo implementaros te recomendamos este post en el blog de Make it Real: https://blog.makeitreal.camp/formularios-de-busqueda-en-rails/
Last updated