ruby-on-rails - collection - simple_form_for rails 5
rails simple_form-campo oculto-crear? (4)
La forma correcta (si no está intentando restablecer el valor de la entrada hidden_field) es:
f.hidden_field :method, :value => value_of_the_hidden_field_as_it_comes_through_in_your_form
Donde :method
es el método que cuando se llama al objeto da como resultado el valor que desea
Entonces siguiendo el ejemplo de arriba:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
El código utilizado en el ejemplo restablecerá el valor (: título) de @movie que pasa el formulario. Si necesita acceder al valor (: título) de una película, en lugar de restablecerlo, haga esto:
= simple_form_for @movie do |f|
= f.hidden :title, :value => params[:movie][:title]
= f.button :submit
De nuevo, solo use mi respuesta: no quiere restablecer el valor enviado por el usuario.
Espero que esto tenga sentido.
¿Cómo puedes tener un campo oculto con forma simple?
El siguiente código:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
resultados en este error:
undefined method `hidden'' for #SimpleForm::FormBuilder:0x000001042b7cd0
prueba esto
= f.input :title, :as => :hidden, :input_html => { :value => "some value" }
¡Más corto aún!
=f.hidden_field :title, :value => "some value"
Más corto, SECO y tal vez más obvio.
Por supuesto, con ruby 1.9 y el nuevo formato hash podemos ir 3 caracteres más cortos con ...
=f.hidden_field :title, value: "some value"
= f.input_field :title, as: :hidden, value: "some value"
También es una opción. Sin embargo, tenga en cuenta que omite cualquier contenedor definido para su generador de formularios.