simpleform simple_form_for simple rails form collection ruby-on-rails ruby-on-rails-3 form-for hidden-field simple-form

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.