[英]Rails: How to do i18n on a dropdown menu in simple_form
我有一个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用于该系列吗?
由于simpleform集合接受proc,因此您可以在label_method上调用一个块,该块将根据需要格式化字符串,这可能是您要查找的内容:
f.input :dropdown, collection: MyModel::boolean, include_blank: false, :label_method => lambda { |item| t(item.last) }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.