Réponses:
Le deuxième paramètre à label
helper vous permettra de définir un texte personnalisé.
<%= f.label :name, 'Your Name' %>
Utilisez la documentation Ruby on Rails pour rechercher des méthodes d'assistance.
label
est répertorié sous ActionView::Helpers::FormBuilder
et ActionView::Helpers::FormHelper
. ActionView::Helpers::FormBuilder
est celui qui nous intéresse, mais il n'y a pas de description. Si vous regardez la déclaration de méthode, vous pouvez voir que le deuxième paramètre est text
. Dans cet exemple, ce n'est pas très simple. Mais ce site de documentation est généralement assez bon.
Vous pouvez spécifier un texte d'étiquette personnalisé via i18n. Dans config/locales/en.yml
, et en supposant que votre modèle utilisateur est nommé user
, vous pouvez ajouter les éléments suivants:
helpers:
label:
user:
name: Your Name
Cela vous permettra de continuer à utiliser
<%= f.label :name %>
sans avoir à coder en dur Your Name
.
Pour plus d'informations sur i18n, consultez ceci . Documentation label
à ce sujet .
Traduisez les étiquettes , les espaces réservés et les boutons sur les formulaires de conception ou d'autres formulaires.
<%= 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 %>
fichier local: 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
Sur Rails 5.1.0, la réponse acceptée ci-dessus ne fonctionne pas.
Le premier paramètre passé peut être utilisé comme étiquette personnalisée.
<%= f.label :mobile, "Mobile No:" %>
'Mobile No:'
. Donc, en changeant en guillemets doubles, "Mobile No:"
cela a résolu mon problème. Cela pourrait être dû à des balises manquantes dans le reste du fichier. Je ne suis pas sûr mais je me souviens que c'est ce qui a fonctionné pour moi à l'époque.
.html.erb
fichier régulier :)