【问题标题】:Prettier error messages for Rails nested attributes?Rails 嵌套属性的更漂亮的错误消息?
【发布时间】:2017-05-11 17:23:05
【问题描述】:

以我的订单结账流程为例,

订单属于客人

访客属于用户

用户有很多电话号码

number 是电话号码的一个属性。

我会收到这样的错误消息:

[:"guest.user.phone_numbers.number", "is an invalid number"]

如何返回更漂亮的消息? 诸如“电话号码格式无效”之类的内容。或“电话号码无效”

我意识到我可以从字符串中破解它,但我希望使用 Rails 方式来定义关联名称或其他什么?支持 I18n 吗?

【问题讨论】:

  • 您可以在config/locales/en.yml中添加您的自定义消息。

标签: ruby-on-rails activerecord activemodel


【解决方案1】:

如果您需要访问给定的嵌套属性 模型,您应该将它们嵌套在模型级别的模型/属性下 您的翻译文件:

en:   
  activerecord:
    attributes:
     user/gender:
       female: "Female"
       male: "Male"

然后User.human_attribute_name("gender.female") 将返回“女性”。
- Rails Guides - Translations for Active Record Models

en:
  activerecord:
    attributes:
      guest/user/phone_numbers:
        number: 'Phone number'

【讨论】:

    猜你喜欢
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 2023-03-25
    相关资源
    最近更新 更多