4 ответов:
Самый Короткий Еще !!!
=f.hidden_field :title, :value => "some value"короче, суше и, возможно, более очевидным.
конечно, с ruby 1.9 и новым хэш-форматом мы можем пойти на 3 символа короче...
=f.hidden_field :title, value: "some value"
= f.input_field :title, as: :hidden, value: "some value"тоже вариант. Обратите внимание, однако, что он пропускает любую оболочку, определенную для вашего конструктора форм.
правильный способ (если вы не пытаетесь сбросить значение ввода hidden_field):
f.hidden_field :method, :value => value_of_the_hidden_field_as_it_comes_through_in_your_formздесь
:methodЭто метод, который при вызове объекта приводит к значению, которое вы хотитеИтак, следуя приведенному выше примеру:
= simple_form_for @movie do |f| = f.hidden :title, "some value" = f.button :submitкод, используемый в Примере, сбросит значение (:title) @movie, передаваемое формой. Если вам нужно получить доступ к значению (:title) фильма, вместо того, чтобы сбросить его, сделайте это:
= simple_form_for @movie do |f| = f.hidden :title, :value => params[:movie][:title] = f.button :submitснова используйте только мой ответ, вы не хотите сбрасывать значение, представленное пользователем.
Я надеюсь, что это имеет смысл.
Comments