form_for
scheint alle 'zusätzlichen' Attribute wie ein data-foo
Attribut zu ignorieren oder class
wie options
im zweiten Argument übergeben.
= form_for @user, {:url => 'foo', :class => 'x', 'data-bar' => 'baz' } do |f|
# ...
Die Ausgabe ist ein <form>
Tag ohne x
Klasse oder data-bar
Attribut.
Was ist das Problem?
Oder wie kann ich eine FormBuilder
Instanz abrufen, ohne sie zu verwenden form_for
?
ruby-on-rails
ruby-on-rails-3
Alan H.
quelle
quelle
= form_for @user, :html => {'class' => 'x'} do |f|
.class
sollte ein Symbol anstelle einer Zeichenfolge sein.Rails 4.0.3, Ruby 2.1.0p0 -> das hat bei mir funktioniert =>
quelle
Ich hatte das gleiche Problem, war aber verwirrt, dass ein anderes Formular an anderer Stelle in meiner App einwandfrei funktionierte.
Mir wurde klar, dass ich versehentlich ein form_for in ein anderes form_for eingefügt hatte, das das Problem nach dem Entfernen behoben hatte .
Zweitens sollte ich hinzufügen, dass diese Syntax in Rails 4.2 für mich funktioniert:
Ich finde es der Interpunktionssuppe der anderen Antworten hier vorzuziehen (die vielleicht auf einer älteren Rails-Version basierten).
quelle
Bei den meisten Helfern ist das letzte Argument ein Hash von HTML-Optionen für das Element.
Sie können auch andere Alternativen in der Dokumentation ActionsView :: Helpers :: FormHelper überprüfen
quelle
Ich habe das oben genannte ohne Glück versucht, aber eine Lösung gefunden. Ich benutze Schienen 4.1.6.
Das hat nicht funktioniert
Das hat es getan
Beachten Sie den Unterschied mit der HTML-Option, hoffe, dies hilft
quelle
= form_for(:user, :url => login_path, html: {:class => 'login_form'}) do |f| %>
Dies war die einzige Möglichkeit, mit der mein Code die Klasse anwenden würde, andernfalls wurde er nur ignoriert.