Wie können Sie ein verstecktes Feld mit einfacher Form haben?
Der folgende Code:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
führt zu diesem Fehler:
undefined method `hidden' for #SimpleForm::FormBuilder:0x000001042b7cd0
ruby-on-rails
ruby-on-rails-3
form-for
hidden-field
simple-form
Linus Oleander
quelle
quelle
= f.input :title, :as => :hidden, :input_html => { :value => "some value" }
simple_form
Möglichkeit, versteckte Eingaben vorzunehmen. Wenn jedoch nur eine versteckte Eingabe erforderlich ist, verwenden Sie einfach denhidden_field
Formular-Builder von Rails, da Simple Form alle Methoden des Formular-Builders erbt.Am kürzesten noch !!!
Kürzer, trockener und vielleicht offensichtlicher.
Natürlich können wir mit Ruby 1.9 und dem neuen Hash-Format 3 Zeichen kürzer machen mit ...
quelle
Ist auch eine Option. Beachten Sie jedoch, dass alle für Ihren Form Builder definierten Wrapper übersprungen werden.
quelle
Der richtige Weg (wenn Sie nicht versuchen, den Wert der Hidden_field-Eingabe zurückzusetzen) ist:
Wo
:method
ist die Methode, die beim Aufruf des Objekts den gewünschten Wert ergibt?Folgen Sie also dem obigen Beispiel:
Der im Beispiel verwendete Code setzt den Wert (: title) von @movie zurück, der vom Formular übergeben wird. Wenn Sie auf den Wert (: Titel) eines Films zugreifen müssen, anstatt ihn zurückzusetzen, gehen Sie folgendermaßen vor:
Verwenden Sie wieder nur meine Antwort, wenn Sie den vom Benutzer übermittelten Wert nicht zurücksetzen möchten.
Ich hoffe das macht Sinn.
quelle
simple_form_for
die hier verwendetehidden
Methode wird einundefined method
versteckter Fehler 'für # <SimpleForm :: FormBuilder: 0x00007ffa6cde0be8>'