更改form_for中标签上的文本

时间:2011-07-12 05:03:59

标签: ruby-on-rails ruby internationalization label form-for

我在我的视图中有这个代码(对于“辩论”类):

<%= form_for(@debate) do |f| %>
...
    <%= f.label :proposition, :body %>
...
<% end %>

这是我的en.yml:

helpers:
  label:
    debate:
      body: "Testing label body"

我从此页面复制了http://apidock.com/rails/ActionView/Helpers/FormHelper/label

期望它会导致<label for="debate_body">Testing label body</label>输出到页面,但我得到<label for="debate_proposition">body</label>

我尝试了其他一些事情,比如在en.yml中与“命题”交换“辩论”而没有运气。我做错了什么?

1 个答案:

答案 0 :(得分:4)

API中的示例不使用form_for,因此您需要将对象传递给label。由于您执行使用form_for,因此可以跳过该参数。所以正确的方法是:

<%= form_for(@debate) do |f| %>
...
    <%= f.label :proposition %>
...
<% end %>

helpers:
  label:
    debate:
      proposition: "Testing label body"