Jak możesz mieć ukryte pole z prostym formularzem?
Poniższy kod:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
powoduje ten błąd:
undefined method `hidden' for #SimpleForm::FormBuilder:0x000001042b7cd0
ruby-on-rails
ruby-on-rails-3
form-for
hidden-field
simple-form
Linus Oleander
źródło
źródło
= f.input :title, :as => :hidden, :input_html => { :value => "some value" }
simple_form
sposób na wykonanie ukrytych danych wejściowych, jednak jeśli potrzebne jest tylko ukryte wejście, po prostu użyj kreatorahidden_field
formularzy Railsów, ponieważ Simple Form dziedziczy wszystkie metody budujące formularze.Najkrótszy jak dotąd !!!
Krótszy, bardziej SUCHY i być może bardziej oczywisty.
Oczywiście z ruby 1.9 i nowym formatem skrótu możemy skrócić o 3 znaki za pomocą ...
źródło
Jest również opcją. Zwróć jednak uwagę, że pomija wszelkie opakowanie zdefiniowane dla twojego kreatora formularzy.
źródło
Prawidłowy sposób (jeśli nie próbujesz resetować wartości wejścia hidden_field) to:
Gdzie
:method
jest metoda, która wywołanie obiektu daje żądaną wartośćWięc postępując zgodnie z powyższym przykładem:
Kod użyty w przykładzie zresetuje wartość (: tytuł) @movie przekazywanego przez formularz. Jeśli chcesz uzyskać dostęp do wartości (: tytułu) filmu, zamiast go resetować, zrób to:
Ponownie użyj mojej odpowiedzi, że nie chcesz resetować wartości przesłanej przez użytkownika.
Mam nadzieję, że to ma sens.
źródło
simple_form_for
Thehidden
metoda z użyciem tutaj ma zamiar podnieść błądundefined method
ukryty”dla # <SimpleForm :: FormBuilder: 0x00007ffa6cde0be8>`