簡體   English   中英

嵌套模型屬性Rails 3.1中的錯誤消息的本地化

[英]Nested Models attribute localization for error messages in Rails 3.1

我有一個深度嵌套的模型形式。

當嵌套模型屬性出錯時,錯誤消息顯示:

列表項標識符URL可能不是空白。

這是:

Model_name +屬性+本地化文件錯誤消息

正確的信息應該是:

商品鏈接網址可能不是空白。

ruby-1.9.2-p290 :014 > ListItem.human_attribute_name("identifier")
=> "Item Link" 

除了錯誤消息中的嵌套模型屬性名稱之外,本地化工作正常。

看起來這是2.3.4中修復的錯誤 ,但我無法弄明白。

以下是為我工作。 我有一個課程模型和一個離線課程模型。 OfflineCourse嵌套在課程中。

以下YAML正確地形成了我。 希望這可以幫助

  course:
    title: Titolo
    subtitle: Sottotitolo
    description: Descrizione
    abstract: Abstract
    audience: A chi è rivolto?
    topic: Argomenti
    typology: Tipologia
    stars: Stelle
  course/offline_courses:
    start_date: Data inizio
    end_date: Data fine
    location: Luogo
    schedule: Programma
    visible: Visibile
    city: Città

不確定這是否是解決這個問題的“正確”方法,但這樣做會有效。

在本地化文件中,您可能有以下內容:

en:
  activerecord:
    attributes:
      list_item:
        identifier: Item Link

只要您直接從嵌套模型中解決它,這將起作用。 Rails驗證似乎通過父模型進行,因此您需要以下內容:

en:
  activerecord:
    attributes:
      list_item:
        identifier: Item Link
      parent_model:
        list_item:
          identifier: Item Link

對我來說,這似乎打破了DRY原則,因為你必須在嵌套級別重復人類可讀的名稱,但這應該適合你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM