3

如何将变量传递给 YAML 数组?我想象它的工作方式就像将它传递给普通字符串,就像这样(一般示例):

en:
  names:
    - First %{name}
    - Second %{name}
    - Third %{name}

 

t('names', name: 'foo')[0]

但这将呈现文本First %{name}。我知道我可以使用显式索引键,例如name_0:,name_1:等,但我认为 YAML 数组是一种更简洁的方式,并希望使用它。

4

1 回答 1

4

如果您查看I18ngem interpolate function,您会发现您不能通过传递值来做到这一点,因为如果输出不是stringinterpolate 将不起作用。

但没有什么能阻止您执行以下操作:

t('names').map{|s| I18n.interpolate(s, name: 'foo')}
于 2013-11-01T14:40:37.473 回答