Risposte:
Il secondo parametro label
dell'helper ti consentirà di impostare il testo personalizzato.
<%= f.label :name, 'Your Name' %>
Usa la documentazione di Ruby on Rails per cercare metodi di supporto.
label
è elencato sotto ActionView::Helpers::FormBuilder
e ActionView::Helpers::FormHelper
. ActionView::Helpers::FormBuilder
è quello che ci interessa, ma non esiste una descrizione. Se guardi la dichiarazione del metodo, puoi vedere che il secondo parametro è text
. In questo esempio, non è molto semplice. Ma quel sito di documentazione di solito è abbastanza buono.
È possibile specificare il testo dell'etichetta personalizzata tramite i18n. In config/locales/en.yml
e supponendo che il tuo modello utente sia denominato user
, puoi aggiungere quanto segue:
helpers:
label:
user:
name: Your Name
Ciò ti consentirà di continuare a utilizzare
<%= f.label :name %>
senza dover codificare Your Name
.
Per ulteriori informazioni su i18n, vedere questo . Documentazione sul label
fare riferimento a questo .
Traduci etichette , segnaposto e pulsanti su moduli di elaborazione o altri moduli.
<%= 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 %>
file locals: 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
Su Rails 5.1.0, la risposta accettata sopra non funziona.
Il primo parametro passato può essere utilizzato come etichetta personalizzata.
<%= f.label :mobile, "Mobile No:" %>
'Mobile No:'
. Quindi passando alle virgolette doppie "Mobile No:"
ha risolto il mio problema. Ciò potrebbe essere dovuto a tag mancanti nel resto del file. Non ne sono sicuro, ma ricordo che è quello che ha funzionato per me in quel momento.
.html.erb
file normale :)