Jak*_*ter 32 ruby translation localization ruby-on-rails rails-i18n
我的模型中包含的内容是:
def body_color_enum
[
['Aqua', '#009c9c'],
['Grey', '#6d6e71'],
['Yellow', '#ffe600'],
['White', 'white']
]
end
Run Code Online (Sandbox Code Playgroud)
我希望这些值来自翻译文件'en.yml'
en:
group:
hero:
hex1: '#6d6e71'
name1: 'Dark grey'
hex2: '#ccc'
name2: 'Light grey'
hex3: '#0099ce'
name3: 'Blue'
hex4: '#ffffff'
name4: 'White'
Run Code Online (Sandbox Code Playgroud)
我试过这个:
def body_color_enum
[
[t('group.hero.name1'), '#009c9c'],
['Grey', '#6d6e71'],
['Yellow', '#ffe600'],
['White', 'white']
]
end
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
undefined method `t' for #<Group:0x007fabad847ac8>
Run Code Online (Sandbox Code Playgroud)
所以我问的是如何从模型中访问我的本地文件,以便我可以在body_color_enum方法中设置我的值.
Bro*_*tse 86
呼叫:
I18n.t
Run Code Online (Sandbox Code Playgroud)
而不是简单t.t是一个只在视图中可用的辅助方法,将整个逻辑委托给I18n模块.
更新:
正如评论中所提到的,视图助手不仅委托给I18n模块,还确保您也可以使用默认范围.
| 归档时间: |
|
| 查看次数: |
16102 次 |
| 最近记录: |