【问题标题】:Error for ln18 translationln18 翻译错误
【发布时间】:2014-11-01 09:43:31
【问题描述】:

出于测试原因,我尝试过:

I18n.locale = "fehler_ausgabe"
puts I18n.translate "activerecord.attributes.diagnosis.sicherheit"

此 yaml 文件正常工作并返回 E-mail addresse

fehler_ausgabe:
  activerecord:
    attributes:
      diagnosis:
        sicherheit: "E-mail addresse"

接下来我尝试测试我的模型中这样定义的错误:

validates :sicherheit, inclusion: { in: ["U","V"]}, unless: :skip_fehler

我更改了我的 yaml 文件:

fehler_ausgabe:
  activerecord:
    attributes:
      diagnosis:
        sicherheit: "E-mail addresse"
          inclusion: "muss zugeorndet werden"

我又试了一次:

puts I18n.translate "activerecord.attributes.diagnosis.sicherheit"

但现在莫名其妙地得到了这个错误:

I18n::InvalidLocaleData (can not load translations from C:/Sites/heroku
2/config/locales/fehler_ausgabe.yml: #<Psych::SyntaxError:     (C:/Sites/heroku2/config/locales/fehler_ausgabe.yml): 
did not find expected key while parsin
g a block mapping at line 5 column 9>):

我做错了什么?我不明白为什么我的代码现在会引发错误!谢谢

【问题讨论】:

  • 您的更改使 YAML 文件包含无效数据。您不能在 sicherheit: "E-mail addresse" 中包含 inclusion: 或者删除“电子邮件地址”或 inclusion
  • 能否请您回复一个答案,以便我将其标记为正确?谢谢

标签: ruby-on-rails


【解决方案1】:

你的改变:

fehler_ausgabe:
  activerecord:
    attributes:
      diagnosis:
        sicherheit: "E-mail addresse"
          inclusion: "muss zugeorndet werden"

使您的 YAML 文件无效。如果您倾向于拥有sicherheit: "E-mail addresse",则不能拥有inclusion: "muss zugeorndet werden"。删除 inclusion: "muss zugeorndet werden""E-mail addresse" 以使您的安排正常工作。

但是,您可以checkout this answer 在您的 YAML 中正确设置 inclusion 验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2012-12-30
    • 2014-10-21
    相关资源
    最近更新 更多