【问题标题】:Why does Rails i18n-active_record gem interpolates string with '--- value \n\n'?为什么 Rails i18n-active_record gem 用 '--- value \n\n' 插入字符串?
【发布时间】:2014-07-26 19:14:53
【问题描述】:
我正在使用 Rails i18n-active_record gem,当我从 Web 界面保存翻译时,Ralis 插入纯字符串并将 --- value \n\n 插入翻译值列和 --- []\n,所以如果我通过 Translation 模型查找翻译我得到--- value \n\n,但如果得到I18n.t('key'),我得到的是实际的value,任何线索为什么会发生这种情况?
【问题讨论】:
标签:
ruby-on-rails
activerecord
internationalization
rails-i18n
【解决方案1】:
这种格式是 YAML——序列化属性的默认“编码器”。事实证明,当我使用 i18n-active_record gem 来序列化值和插值列时,我还创建了自己的 Translation 模型,它还没有
serialize :value
serialize :interpolations, Array
所以问题是当我保存一些翻译时,它们被 i18n-active_record gem 序列化,here,但是当我检索它们时它们没有。所以解决方案是将上述序列化调用添加到我的翻译模型以从I18n::Backend::ActiveRecord::Translation继承我的翻译模型。
This article 帮助我理解格式是序列化。