如何在表单标签助手中传递i18n插值变量?

时间:2011-10-17 19:34:25

标签: ruby-on-rails ruby-on-rails-3 internationalization

假设有一个en.yml

#en.yml
en:
  activerecord:
    books:
       price: "Price in %{currency}"

然后可以在视图中执行以下操作

<%= t :price, :scope => "activerecord.attributes.book", :currency => "USD"%>

它将打印“以美元计价”。

但是,当这种翻译形式为

时,我无法弄清楚如何传递货币
# views/books/edit.html
f.label :price

可以理解地抛出一个I18n :: MissingInterpolationArgument,但我无法弄清楚传递缺失参数的语法是什么

# views/books/edit.html
f.label :price, :currency => "USD"

不起作用。

1 个答案:

答案 0 :(得分:10)

我会尝试:

<%= f.label I18n.t(:price, :scope => "activerecord.attribute.book", :currency => "USD") %>