使用Rails i18n时,特定的activerecord属性在生产中变为缺失

时间:2018-05-21 07:33:22

标签: ruby-on-rails rails-i18n i18n-gem

我的默认语言区域是:ja,我有user.ja.yml

ja:
  activerecord:
    models:
      user: プロフィール
    attributes:
      user:
        account_id: アカウントID
        birth_day: 生年月日
        email: メールアドレス
    errors:
      user:
        invalid_zip_code: 郵便番号に該当する住所がみつかりません。  
  enumerize:
    user:
      sex:
        man: 男性
        woman: 女性

我的应用程序在生产服务器上的特定模型上引发了转换缺失错误。它适用于其他模型以及开发和本地生产环境。

在本地生产环境中:

I18n.t('activerecord.attributes.user.account_id')
# => "アカウントID"

在生产服务器上:

I18n.t('activerecord.attributes.user.account_id')
# => "translation missing: ja.activerecord.attributes.user.account_id"

activerecord.model不会引发错误:

I18n.t('activerecord.models.user')
# => "プロフィール"

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 有一个语言环境文件,其中没有属性内容。

ja:
  activerecord:
    models:
      authentication: SNS連携
    attributes:

此文件会影响其他文件。