Rails simple_form - скрытое поле - создать? Как у вас есть скрытое поле с простой формой? Следующий код: = simple_form_for @movie do |f| = f.hidden :title, "some value" = f.button :submit приводит к этой ошибке: undefined method `hidden' for #SimpleForm::FormBuilder:0x000001042b7cd0 Ответ 1 попробуйте это = f.input :title, :as => :hidden, :input_html => { :value => "some value" } Ответ 2 Кратчайший Еще! =f.hidden_field :title, :value => "some value" Более короткий, DRYer и, возможно, более очевидный. Конечно, с ruby 1.9 и новым хеш-форматом мы можем пойти на 3 символа короче с... =f.hidden_field :title, value: "some value" Ответ 3 Правильный способ (если вы не пытаетесь выполнить reset значение ввода 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 Код, используемый в примере, будет reset значением (: title) @movie, передаваемым формой. Если вам нужно получить доступ к значению (: title) фильма, вместо его сброса, сделайте следующее: = simple_form_for @movie do |f| = f.hidden :title, :value => params[:movie][:title] = f.button :submit Снова используйте только мой ответ: вы не хотите, чтобы reset значение, представленное пользователем. Надеюсь, это имеет смысл. Ответ 4 = f.input_field :title, as: :hidden, value: "some value" Также является опцией. Обратите внимание, однако, что он пропускает любую оболочку, определенную для вашего конструктора форм.
Ответ 2 Кратчайший Еще! =f.hidden_field :title, :value => "some value" Более короткий, DRYer и, возможно, более очевидный. Конечно, с ruby 1.9 и новым хеш-форматом мы можем пойти на 3 символа короче с... =f.hidden_field :title, value: "some value"
Ответ 3 Правильный способ (если вы не пытаетесь выполнить reset значение ввода 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 Код, используемый в примере, будет reset значением (: title) @movie, передаваемым формой. Если вам нужно получить доступ к значению (: title) фильма, вместо его сброса, сделайте следующее: = simple_form_for @movie do |f| = f.hidden :title, :value => params[:movie][:title] = f.button :submit Снова используйте только мой ответ: вы не хотите, чтобы reset значение, представленное пользователем. Надеюсь, это имеет смысл.
Ответ 4 = f.input_field :title, as: :hidden, value: "some value" Также является опцией. Обратите внимание, однако, что он пропускает любую оболочку, определенную для вашего конструктора форм.