繁体   English   中英

Rails:如何在simple_form的下拉菜单上执行i18n

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM