Antworten:
Mit dem zweiten label
Hilfsparameter können Sie benutzerdefinierten Text festlegen.
<%= f.label :name, 'Your Name' %>
Verwenden Sie die Ruby on Rails-Dokumentation , um nach Hilfsmethoden zu suchen.
label
ist unter ActionView::Helpers::FormBuilder
und aufgeführt ActionView::Helpers::FormHelper
. ActionView::Helpers::FormBuilder
ist die, die uns interessiert, aber es gibt keine Beschreibung. Wenn Sie sich die Methodendeklaration ansehen, sehen Sie, dass der zweite Parameter ist text
. In diesem Beispiel ist es nicht sehr einfach. Aber diese Dokumentationsseite ist normalerweise ziemlich gut.
Sie können benutzerdefinierten Beschriftungstext über i18n angeben. In config/locales/en.yml
und unter der Annahme, dass Ihr Benutzermodell benannt istuser
, können Sie Folgendes hinzufügen:
helpers:
label:
user:
name: Your Name
Auf diese Weise können Sie die Verwendung fortsetzen
<%= f.label :name %>
ohne fest codieren zu müssen Your Name
.
Weitere Informationen zu i18n finden Sie hier . Dokumentation auf die label
beziehen sich auf diese .
Übersetzen Etiketten , Platzhalter und Tasten auf devise Formen oder andere Formen.
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="mt-3">
<label class="float-left"> <%= f.label t(:email) %> </label>
<%= f.email_field :email, class: 'form-control', placeholder: t('.emailholder') %>
</div>
<div class="mt-3">
<label class="float-left"> <%= f.label t(:password) %> </label>
<%= f.password_field :password, class: 'form-control', placeholder: t('.passholder') %>
</div>
<div class="button">
<%= f.button t('.signinbtn'), class: "" %>
</div>
<% end %>
lokale Datei: config / locales / en.yml
en:
activerecord:
....others
#Found in Views/devise/seasions/new <form> <*label*>
email: "Email"
password: "Password"
#Views/devise <form> <placeholder & buttom>
devise: #if your using devise forms
#seasions/new.html.erb
new:
emailholder: "enter email here"
passholder: "enter password"
signinbtn: "SignIn"
....others
Auf Rails 5.1.0 funktioniert die oben akzeptierte Antwort nicht.
Der erste übergebene Parameter kann als benutzerdefiniertes Etikett verwendet werden.
<%= f.label :mobile, "Mobile No:" %>
'Mobile No:'
. Durch den Wechsel zu doppelten Anführungszeichen wurde "Mobile No:"
mein Problem gelöst. Dies könnte an fehlenden Tags im Rest der Datei liegen. Ich bin mir nicht sicher, aber ich erinnere mich, dass es damals für mich funktioniert hat.
.html.erb
Datei nicht zwischen einfachen und doppelten Anführungszeichen unterscheiden :)