Raylar: Raylar için özel metin form_for etiket


103

Şurada bir etiket görüntülemek istiyorum form_for:

<div class="field">
  <%= f.label :name %><br />
  <%= f.text_field :name %>
</div>

Bu, "Ad" etiketini oluşturur, ancak bunun "Adınız" olmasını istiyorum. Nasıl değiştirebilirim?

Yanıtlar:


186

labelYardımcı olacak ikinci parametre, özel metin ayarlamanıza izin verecektir.

<%= f.label :name, 'Your Name' %>

Kullanım Raylar Dokümantasyon Yakut yardımcı yöntemler aramak için.


1
Teşekkür ederim! Lütfen dokümantasyonda buna benzer bir şeye nasıl bakabileceğimi bana bildirir misiniz?
Paul S.

2
Yukarıdaki bağlantıya gidin ve aradığınız yöntemi arama kutusuna yazın. ve labelaltında listelenir . ilgilendiğimiz şeydir, ancak açıklaması yok. Yöntem bildirimine bakarsanız, ikinci parametrenin olduğunu görebilirsiniz . Bu örnekte, çok basit değil. Ancak bu dokümantasyon sitesi genellikle oldukça iyidir. ActionView::Helpers::FormBuilderActionView::Helpers::FormHelperActionView::Helpers::FormBuildertext
gylaz

34

İ18n aracılığıyla özel etiket metni belirtebilirsiniz. İçinde config/locales/en.ymlve kullanıcı modelinizin adlandırıldığını varsayarak useraşağıdakileri ekleyebilirsiniz:

helpers:
    label:
      user:
        name: Your Name

Bu, kullanmaya devam etmenize izin verecektir

<%= f.label :name %>

kod yazmak zorunda kalmadan Your Name.

İ18n hakkında daha fazla bilgi için bkz bu . Üzerinde Belgeler labelbakın bu .


0

5.2.2 raylı i18n bu mükemmel çalışıyor.

Çevir etiketleri , yer tutucular ve düğmeler üzerinde vasiyet formlar veya başka biçimlerde.

<%= 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 %>

yereller dosyası: 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.