Respostas:
O segundo parâmetro para label
auxiliar permitirá que você defina o texto personalizado.
<%= f.label :name, 'Your Name' %>
Use a documentação do Ruby on Rails para pesquisar métodos auxiliares.
label
está listado em ActionView::Helpers::FormBuilder
e ActionView::Helpers::FormHelper
. ActionView::Helpers::FormBuilder
é aquele em que estamos interessados, mas não há descrição. Se você olhar a declaração do método, verá que o segundo parâmetro é text
. Neste exemplo, não é muito simples. Mas esse site de documentação geralmente é muito bom.
Você pode especificar o texto do rótulo personalizado via i18n. Em config/locales/en.yml
, e presumindo que seu modelo de usuário seja nomeado user
, você pode adicionar o seguinte:
helpers:
label:
user:
name: Your Name
Isso permitirá que você continue usando
<%= f.label :name %>
sem ter que codificar Your Name
.
Para obter mais informações sobre i18n, consulte isto . Documentação sobre a label
referência a este .
Traduzir rótulos , marcadores e botões em conceber formas ou outras formas.
<%= 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 %>
arquivo 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
No Rails 5.1.0, a resposta aceita acima não funciona.
O primeiro parâmetro passado pode ser usado como um rótulo personalizado.
<%= f.label :mobile, "Mobile No:" %>
'Mobile No:'
. Portanto, ao mudar para aspas duplas "Mobile No:"
, resolvi meu problema. Isso pode ter ocorrido devido à falta de tags no resto do arquivo. Não tenho certeza, mas lembro que foi o que funcionou para mim na época.
.html.erb
arquivo normal :)