ฉันต้องการแสดงป้ายกำกับในform_for
:
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
สิ่งนี้สร้างป้ายกำกับ "ชื่อ" แต่ฉันต้องการให้เป็น "ชื่อของคุณ" ฉันจะเปลี่ยนได้อย่างไร?
ฉันต้องการแสดงป้ายกำกับในform_for
:
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
สิ่งนี้สร้างป้ายกำกับ "ชื่อ" แต่ฉันต้องการให้เป็น "ชื่อของคุณ" ฉันจะเปลี่ยนได้อย่างไร?
คำตอบ:
พารามิเตอร์ตัวที่สองถึงตัวlabel
ช่วยจะช่วยให้คุณตั้งค่าข้อความที่กำหนดเองได้
<%= f.label :name, 'Your Name' %>
ใช้Ruby on Rails Documentationเพื่อค้นหาวิธีการช่วยเหลือ
label
อยู่ภายใต้และActionView::Helpers::FormBuilder
เป็นสิ่งที่เราสนใจ แต่ไม่มีคำอธิบาย ถ้าคุณดูที่ประกาศวิธีการที่คุณจะเห็นว่าพารามิเตอร์ที่สองคือ ในตัวอย่างนี้มันไม่ตรงไปตรงมามากนัก แต่ไซต์เอกสารนั้นมักจะค่อนข้างดี ActionView::Helpers::FormHelper
ActionView::Helpers::FormBuilder
text
คุณสามารถระบุข้อความฉลากที่กำหนดเองผ่านทาง i18n ในconfig/locales/en.yml
และสมมติว่ามีการตั้งชื่อรุ่นผู้ใช้ของuser
คุณคุณสามารถเพิ่มสิ่งต่อไปนี้:
helpers:
label:
user:
name: Your Name
วิธีนี้จะช่วยให้คุณใช้งานได้ต่อไป
<%= f.label :name %>
โดยไม่ต้อง Your Name
hardcode
สำหรับข้อมูลเพิ่มเติมเกี่ยว i18n ดูนี้ เอกสารเกี่ยวกับการlabel
อ้างถึงนี้
แปลป้าย , ตัวยึดและปุ่มบนประดิษฐ์รูปแบบหรือรูปแบบอื่น ๆ
<%= 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 %>
ไฟล์ 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