Arrays 将变量传递给YAML数组

Arrays 将变量传递给YAML数组,arrays,rails-i18n,string-interpolation,Arrays,Rails I18n,String Interpolation,如何将变量传递给YAML数组?我想象它的工作方式就像将其传递给普通字符串,如下所示(一般示例): 但是这将呈现文本第一个%{name}。我知道我可以使用显式索引键,比如name\u 0:,name\u 1:,等等,但我认为YAML数组是一种更干净的方法,我想利用它。如果你看I18ngem,你会发现你不能通过传递值来实现这一点,因为如果输出不是stringinterpolate将不起作用 但没有任何东西阻止您执行以下操作: t('names').map{|s| I18n.interpolate(

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


但是这将呈现文本
第一个%{name}
。我知道我可以使用显式索引键,比如
name\u 0:
name\u 1:
,等等,但我认为YAML数组是一种更干净的方法,我想利用它。

如果你看
I18n
gem,你会发现你不能通过传递值来实现这一点,因为如果输出不是
string
interpolate将不起作用

但没有任何东西阻止您执行以下操作:

t('names').map{|s| I18n.interpolate(s, name: 'foo')}

嗯,我明白了。。。在这种情况下,我也可以使用
t('names')[0].gsub('{name}',foo')
,因为这两个示例中,
t('names.name_0',name:'foo')
更简单。
t('names', name: 'foo')[0]
t('names').map{|s| I18n.interpolate(s, name: 'foo')}