为什么Rails i18n-active_record gem用'--- value \ n \ n'插入字符串?

时间:2014-07-26 19:14:54

标签: ruby-on-rails activerecord internationalization rails-i18n

我正在使用Rails i18n-active_record gem,当我从web界面保存翻译时,Ralis插入普通字符串并将--- value \n\n插入翻译值列和--- []\n,所以如果我通过{查找翻译{1}}模型我得到Translation,但如果--- value \n\n我得到实际的I18n.t('key'),那么为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

此格式为YAML - 默认"编码器"用于序列化属性。事实证明,当我使用i18n-active_record gem(序列化值和插值列)时,我还创建了自己的Translation模型,它没有&#t; t

serialize :value
serialize :interpolations, Array

所以问题在于,当我保存一些翻译时,它们被i18n-active_record gem here序列化,但当我检索它们时,他们不会。所以解决方案是将上面的序列化调用添加到我的翻译模型以从I18n::Backend::ActiveRecord::Translation继承我的翻译模型。

This article帮助我理解格式是序列化。