我想在Customer::ROLES
数组上应用i18n,
Customer :: ROLES中的值为general, vip, platinum
数组
但是当我以这种方式包裹它时我遇到了错误t(Customer::ROLES , scope: 'CUSTOMER')
= f.input :role,label: t("role"),as: :select, |
:collection => Customer::ROLES, |
:selected => 1
这是yml文件
CUSTOMER:
platinum: "白金"
vip: "vip"
这是错误消息
NoMethodError in Customers#edit
undefined method `to_a' for #<ActiveSupport::SafeBuffer:0x007fe0e76b6e88>
答案 0 :(得分:0)
<%= I18n.t 'CUSTOMER.platinum'%>
答案 1 :(得分:0)
我不知道Rails是否支持这一点,但simple_form肯定会支持:
f.input :role, collection: [...]
将尝试翻译给定集合数组中的元素。它将在.yaml文件中查找类似
的内容simple_form:
options:
customer:
role:
platinum: ...
vip: ...