我有一个simple_form
,其下拉菜单中包含一系列选项。我希望将选项保存为整数,但是下拉列表中显示的文本是基于区域设置的字符串。如下:
<option value="1">Option 1</option>
<option value="2">Option 2</option>
我目前在MyModel
中将选项定义为类方法,如下所示:
def self.options
[['Option 1', 1], ['Option 2', 2]]
end
没有i18n,我有以下工作:
f.input :dropdown, collection: MyModel::boolean, include_blank: false
添加语言环境,我试过
f.input :dropdown, collection: t(MyModel::boolean, scope: 'simple_form'), include_blank: false
但这会引发错误:
翻译缺失:en.simple_form.Option 1.1
它看起来好像在翻译中查找数组键和值。
有关如何让i18n为该系列工作的任何建议吗?
答案 0 :(得分:1)
由于simpleform集合接受了procs,你可以在label_method上调用一个块,根据需要格式化你的字符串,这可能是你正在寻找的:
f.input :dropdown, collection: MyModel::boolean, include_blank: false, :label_method => lambda { |item| t(item.last) }