rails form_for标签的自定义文本

Pau*_* S. 95 ruby ruby-on-rails form-for ruby-on-rails-3.2

我想在以下位置显示标签form_for:

<div class="field">
  <%= f.label :name %><br />
  <%= f.text_field :name %>
</div>
Run Code Online (Sandbox Code Playgroud)

这会生成标签"Name",但我希望它是"你的名字".我该怎么改变它?

gyl*_*laz 179

label辅助工具的第二个参数将允许您设置自定义文本.

<%= f.label :name, 'Your Name' %>
Run Code Online (Sandbox Code Playgroud)

使用Ruby on Rails文档查找帮助方法.

  • 只需转到上面的链接,然后在搜索框中输入您要查找的方法即可.`label`列在`ActionView :: Helpers :: FormBuilder`和`ActionView :: Helpers :: FormHelper`下.`ActionView :: Helpers :: FormBuilder`是我们感兴趣的,但没有描述.如果查看方法声明,可以看到第二个参数是`text`.在这个例子中,它不是很直接.但该文档网站非常好. (2认同)

hji*_*ing 32

您可以通过i18n指定自定义标签文本.在config/locales/en.yml,并假设您的用户模型已命名user,您可以添加以下内容:

helpers:
    label:
      user:
        name: Your Name
Run Code Online (Sandbox Code Playgroud)

这将允许您继续使用

<%= f.label :name %>
Run Code Online (Sandbox Code Playgroud)

无需硬编码Your Name.

有关i18n的更多信息,请参阅此内容.文档在label参考这个.