Как вы можете иметь скрытое поле с простой формой?
Следующий код:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
приводит к этой ошибке:
undefined method `hidden' for #SimpleForm::FormBuilder:0x000001042b7cd0
ruby-on-rails
ruby-on-rails-3
form-for
hidden-field
simple-form
Линус Олеандр
источник
источник
= f.input :title, :as => :hidden, :input_html => { :value => "some value" }
simple_form
способ создания скрытых входных данных, однако, если требуется только скрытый ввод, просто используйтеhidden_field
построитель форм Rails, поскольку Simple Form наследует все методы построителя форм.Короче пока что !!!
Короче, СУХОЙ и, возможно, более очевидный.
Конечно, с ruby 1.9 и новым форматом хэша мы можем уйти на 3 символа короче с ...
источник
Это тоже вариант. Обратите внимание, что он пропускает любую оболочку, определенную для вашего конструктора форм.
источник
Правильный способ (если вы не пытаетесь сбросить значение ввода hidden_field):
Где
:method
метод, который при вызове объекта приводит к нужному значениюИтак, следуя примеру выше:
Код, используемый в примере, будет сбрасывать значение (: title) @movie, передаваемое формой. Если вам нужно получить доступ к значению (: title) фильма, а не к его сбросу, сделайте следующее:
Опять же, используйте только мой ответ, если вы не хотите сбрасывать значение, указанное пользователем.
Я надеюсь это имеет смысл.
источник
simple_form_for
,hidden
метод, используемый здесь, вызоветundefined method
скрытую ошибку 'для # <SimpleForm :: FormBuilder: 0x00007ffa6cde0be8> `