ruby on rails - rails - Form_tag parámetros en hash anidado
form_with vs form_tag (1)
Puede usar fields_for
dentro de form_tag
para una forma más formal de expresar un espacio de nombres.
fields_for :form_fields do |ff|
ff.text_field :my_text_field
ff.select :my_select_tag
end
Alternativamente, solo tiene que nombrar todas las entradas de su formulario, como tales:
text_field_tag "form_fields[my_text_field]"
select_tag "form_fields[my_select_tag]" ...
Luego obtendrás params[:form_fields] = {:my_text_field => "foo", :my_select_tag => "bar"}
, que creo que es lo que querías.
Tengo un formulario que no tiene un modelo asociado, así que estoy usando form_tag
lugar de form_for
. Como se esperaba, cuando el usuario envía el formulario, cada uno de los campos se incluye en el hash de params. Pero el formulario cambiará mucho y preferiría tener un hash dentro del hash params que contendrá todos los valores del campo del formulario para que no tenga que cambiar mi controlador cada vez que lo haga.
¿Hay una manera de poner los valores de campo de formulario en un hash anidado como form_for hace? Me gustaría poder tomar todos los campos del formulario y convertirlos a json haciendo algo como params[:form_fields].to_json