[英]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.