Câu trả lời:
Tham số thứ hai để label
trợ giúp sẽ cho phép bạn đặt văn bản tùy chỉnh.
<%= f.label :name, 'Your Name' %>
Sử dụng Tài liệu Ruby on Rails để tra cứu các phương thức trợ giúp.
label
được liệt kê dưới ActionView::Helpers::FormBuilder
và ActionView::Helpers::FormHelper
. ActionView::Helpers::FormBuilder
là một trong những chúng tôi quan tâm, nhưng không có mô tả. Nếu bạn nhìn vào phần khai báo phương thức, bạn có thể thấy tham số thứ hai là text
. Trong ví dụ này, nó không thẳng về phía trước. Nhưng trang web tài liệu đó thường khá tốt.
Bạn có thể chỉ định văn bản nhãn tùy chỉnh thông qua i18n. Trong config/locales/en.yml
và giả sử mô hình người dùng của bạn được đặt tên user
, bạn có thể thêm như sau:
helpers:
label:
user:
name: Your Name
Điều này sẽ cho phép bạn tiếp tục sử dụng
<%= f.label :name %>
mà không cần phải mã hóa cứng Your Name
.
Để biết thêm thông tin về i18n, hãy xem phần này . Tài liệu về việc label
tham khảo này .
Dịch nhãn , trình giữ chỗ và nút trên các biểu mẫu phát minh ra hoặc các biểu mẫu khác.
<%= 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 %>
tệp 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
Trên Rails 5.1.0, câu trả lời được chấp nhận ở trên không hoạt động.
Tham số đầu tiên được truyền vào có thể được sử dụng làm nhãn tùy chỉnh.
<%= f.label :mobile, "Mobile No:" %>
'Mobile No:'
. Vì vậy, bằng cách thay đổi thành dấu ngoặc kép "Mobile No:"
nó đã giải quyết được vấn đề của tôi. Điều này có thể là do thiếu thẻ trong phần còn lại của tệp. Tôi không chắc nhưng tôi nhớ đó là những gì đã làm việc cho tôi vào thời điểm đó.
.html.erb
tập tin :)