Respuestas:
El segundo parámetro de label
ayuda le permitirá configurar texto personalizado.
<%= f.label :name, 'Your Name' %>
Utilice la documentación de Ruby on Rails para buscar métodos de ayuda.
label
aparece bajo ActionView::Helpers::FormBuilder
y ActionView::Helpers::FormHelper
. ActionView::Helpers::FormBuilder
es el que nos interesa, pero no hay descripción. Si observa la declaración del método, puede ver que el segundo parámetro es text
. En este ejemplo, no es muy sencillo. Pero ese sitio de documentación suele ser bastante bueno.
Puede especificar texto de etiqueta personalizado a través de i18n. En config/locales/en.yml
, y asumiendo que se nombra su modelo de usuario user
, puede agregar lo siguiente:
helpers:
label:
user:
name: Your Name
Esto te permitirá seguir usando
<%= f.label :name %>
sin tener que codificar Your Name
.
Para obtener más información sobre i18n, consulte esto . La documentación al respecto se label
refiere a esto .
Traduzca etiquetas , marcadores de posición y botones en formularios de dispositivos u otros formularios.
<%= 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 %>
archivo 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
En Rails 5.1.0, la respuesta aceptada anterior no funciona.
El primer parámetro pasado se puede utilizar como una etiqueta personalizada.
<%= f.label :mobile, "Mobile No:" %>
'Mobile No:'
. Entonces, al cambiar a comillas dobles "Mobile No:"
, resolvió mi problema. Esto podría deberse a que faltan etiquetas en el resto del archivo. No estoy seguro, pero recuerdo que fue lo que funcionó para mí en ese momento.
.html.erb
archivo normal :)