2013-08-27 32 views
6

Thông báo lỗi không dịch thuộc tính mô hình lồng nhau của tôi, vì nó được định nghĩa là số ít nhưng trong thông báo lỗi tìm kiếm số nhiều.Rails dịch thông báo lỗi xác thực cho các thuộc tính lồng nhau i18n

Tôi có Mẫu 'Người' có has_many: địa chỉ. Mô hình Person này chấp nhận các thuộc tính lồng nhau của 'Addresses'. Tôi đang tạo Địa chỉ cùng với mô hình Người.

tập tin địa phương của tôi trông giống như

en: 
    activerecord: 
    models: 
     person: 
     one: "Person" 
     other: "People" 
     address: 
     one: 'Address' 
     other: 'Addresses' 
    attributes: 
     person: 
     first_name: 'First name' 
     last_name: 'Last name' 
     middle_name: 'Middel name' 
     address: 
     street: street 
     city: city 
     country: country 

và cho thông báo lỗi:

en: 
    errors: &errors 
    format: ! '%{attribute} %{message}' 
    messages: 
     blank: can't be blank 

Nó hoạt động với mô hình đơn nhưng với các thuộc tính lồng nhau tôi đã có một vấn đề với các thông điệp xác nhận.

Kể từ khi được thông báo sẽ được hiển thị như:

@messages= 
    {:first_name=>["can't be blank"], 
    :last_name=>["can't be blank"], 
    :"addresses.street"=>["can't be blank"], 
    :"addresses.city"=>["can't be blank"]}> 

tra cứu không tìm thấy bản dịch cho addresses.street, vì nó chỉ được address.street trong file yml.

Làm cách nào để tôi tìm địa chỉ. Hãy hỏi khi nào tìm địa chỉ.bạn không cần phải tăng gấp đôi tất cả các mục nhập của mình?

+0

Có thể [câu trả lời này] (http://stackoverflow.com/a/11129637/660260) có thể hữu ích. – Flauwekeul

Trả lời

-1

bạn đã nhìn lên làm thế nào để xử lý pluralization trong Rails Doc

[ray i18n] [1] [1]: http://guides.rubyonrails.org/i18n.html#pluralization

3 ngữ pháp số nhiều Trong tiếng Anh chỉ có một số ít và một hình thức số nhiều cho một chuỗi đã cho, ví dụ "1 tin nhắn" và "2 tin nhắn". Các ngôn ngữ khác (tiếng Ả Rập, tiếng Nhật, tiếng Nga và nhiều ngôn ngữ khác) có các ngữ pháp khác nhau có dạng số nhiều hoặc ít hơn. Do đó, API I18n cung cấp một tính năng số nhiều linh hoạt.

Các vấn đề liên quan