rails form_for标签的自定义文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rails form_for标签的自定义文本相关的知识,希望对你有一定的参考价值。
我想在form_for
中显示一个标签:
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
这会生成标签“Name”,但我希望它是“你的名字”。我该怎么改变它?
答案
label
助手的第二个参数将允许您设置自定义文本。
<%= f.label :name, 'Your Name' %>
使用Ruby on Rails Documentation查找辅助方法。
另一答案
您可以通过i18n指定自定义标签文本。在config/locales/en.yml
中,假设您的用户模型名为user
,您可以添加以下内容:
helpers:
label:
user:
name: Your Name
这将允许您继续使用
<%= f.label :name %>
无需硬编码Your Name
。
有关i18n的更多信息,请参阅this。关于label
的文档是指this。
另一答案
i18n with rails 5.2.2 this works perfectly.
在设计表格或其他表格上翻译标签,占位符和按钮。
<%= 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 %>
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
另一答案
在Rails 5.1.0上,上面接受的答案不起作用。
传递的第一个参数可以用作自定义标签。
<%= f.label :mobile, "Mobile No:" %>
以上是关于rails form_for标签的自定义文本的主要内容,如果未能解决你的问题,请参考以下文章