Meine Frage ist einfach:
<%= f.submit %>
Wohin geht die Klassendeklaration? Ich erhalte Fehler bei mehreren Versuchen.
<%= f.submit 'name of button here', :class => 'submit_class_name_here' %>
Das sollte reichen. Wenn Sie eine Fehlermeldung erhalten, ist die Wahrscheinlichkeit groß, dass Sie den Namen nicht angeben.
Alternativ können Sie die Schaltfläche auch ohne Klasse gestalten:
form#form_id_here input[type=submit]
Versuchen Sie das auch.
Sie können der Senden-Schaltfläche eines Formulars eine Klassendeklaration hinzufügen, indem Sie folgendermaßen vorgehen:
<%= f.submit class: 'btn btn-default' %>
<- Hinweis: Es gibt kein Komma!
Wenn Sie ein _ form.html.erb Teil eines Gerüsts ändern und die dynamische Änderung des Tastennamens zwischen Controller-Aktionen beibehalten möchten, DO NICHT einen Namen angeben 'name'
.
Ohne Angabe eines Namens und abhängig von der Aktion, mit der das Formular gerendert wird, erhält die Schaltfläche das .class = "btn btn-default"
(Bootstrap-Klasse) (oder was auch immer .class
Sie geben) mit folgenden Namen an:
Modellname aktualisieren
Modellname erstellen
(wobei model_name der Name des Gerüstmodells ist)
<%= f.submit nil, :class => 'btn btn-primary' %>
Ergibt so etwas wie:
screen-2014-01-22_02.24.26.png http://img854.imageshack.us/img854/9148/2wlx.png
Wie Srdjan Pejic sagt, können Sie verwenden
<%= f.submit 'name', :class => 'button' %>
oder die neue Syntax wäre:
<%= f.submit 'name', class: 'button' %>
Standardmäßig verwendet Rails 4 das Attribut 'value', um den sichtbaren Schaltflächentext zu steuern, damit das Markup sauber bleibt, das ich verwenden würde
<%= f.submit :value => "Visible Button Text", :class => 'class_name' %>
beide arbeiten <%= f.submit class: "btn btn-primary" %>
und <%= f.submit "Name of Button", class: "btn btn-primary "%>