如何在Ruby on Rails中本地化深度嵌套属性的验证错误消息?

vql8enpb  于 2023-10-17  发布在  Ruby
关注(0)|答案(1)|浏览(123)

在我的Ruby on Rails 7应用程序中,我有一个Booking,它有许多CargoItems,而这些CargoItems又可以有许多CargoItemDocuments(基本上只包含一个upload附件)。

class Booking < ApplicationRecord

  has_many :cargo_items

  accepts_nested_attributes_for :cargo_items

end
class CargoItem < ApplicationRecord

  belongs_to :booking

  has_many :cargo_item_documents

  accepts_nested_attributes_for :cargo_item_documents

end
class CargoItemDocument < ApplicationRecord

  belongs_to :cargo_item

  has_one_attached :upload

end

不幸的是,深度嵌套的CargoItemDocuments的本地化验证消息没有正确呈现。这是我的德语本地化文件:

de:
  activerecord: 
    attributes: 
      booking:
        number: "Nummer"
        date: "Datum"
      cargo_item: 
        title: "Titel"
        weight: "Gewicht"
        cargo_item_documents:
          upload: "Datei" # <-- Not working!

因此,当上传无效的文件类型,而不是一个德国验证错误消息,我目前得到:
Cargo items cargo item documents upload hat einen ungültigen Dateityp
如何解决这个问题?

ds97pgxw

ds97pgxw1#

三个星期后,这就是解决方案:

de:
  activerecord: 
    attributes: 
      booking:
        number: "Nummer"
        date: "Datum"
      cargo_item: 
        title: "Titel"
        weight: "Gewicht"
      cargo_items/cargo_item_documents:
        upload: "Datei"

相关问题