111

ラベルを表示したいform_for

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

これにより「名前」というラベルが生成されますが、「あなたの名前」にします。どうすれば変更できますか?

4

3 に答える 3

203

ヘルパーの2番目のパラメーターをlabel使用すると、カスタムテキストを設定できます。

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

Ruby on Railsのドキュメントを使用して、ヘルパーメソッドを検索します。

于 2012-10-22T00:37:37.533 に答える
35

i18nを介してカスタムラベルテキストを指定できます。でconfig/locales/en.yml、ユーザーモデルの名前がであると仮定するとuser、次のように追加できます。

helpers:
    label:
      user:
        name: Your Name

これにより、使い続けることができます

<%= f.label :name %>

ハードコーディングする必要はありませんYour Name

i18nの詳細については、こちらを参照してください。ドキュメントはこれlabelを参照してください。

于 2014-05-17T17:27:05.907 に答える
0

レール付きi18n5.2.2これは完全に機能します。

デバイスフォームまたは他のフォームのラベルプレースホルダー、およびボタンを翻訳します。

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

ローカルファイル: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
于 2019-02-02T11:50:48.577 に答える