ruby-on-rails – 显示错误时访问模型的属性转换

我已成功创建了我的he.yml来本地化我的模型的属性名称,

例:

      attributes:
       vendor:
        name: שם ספק
        counter_number: מספר חשבונית
        phone: טלפון
        address: כתובת

现在,使用simple_form的f.input在表单中显示标签,正确显示每个属性的翻译值.

问题是,验证后显示错误,使用

<% @vendor.errors.each do |attribute, error| %>

|属性|例如,显示错误“counter_number”:“counter_number”.
不是语言环境文件中的翻译文件[如前所述,已成功配置和加载].
我在ul.errors中附加了错误,如此屏幕截图所示:
《ruby-on-rails – 显示错误时访问模型的属性转换》

提前致谢.

最佳答案 你可以这样做:

@vendor.errors.messages do |attribute, errors|
  translated_attribute = Vendor.human_attribute_name(attribute)
  errors = errors.join(", ")
end

我用我的用户模型测试了这个:

《ruby-on-rails – 显示错误时访问模型的属性转换》

点赞