35

我有一個模型產品::汽車。我如何翻譯它的屬性?如何在命名空間中翻譯模型?

我已經嘗試過這樣的:

activerecord: 
    models: 
    products: 
     car: "Автомобиль" 
    attributes: 
    products: 
     car: 
     owner: "Владелец" 

這:

activerecord: 
    models: 
    products_car: "Автомобиль" 
    attributes: 
    products_car: 
     owner: "Владелец" 

但是,如果我嘗試使用產品:: Car.model_name.human還在說 「汽車」。我的其他翻譯運作良好,語言設置爲:ru。

+0

參考這樣的回答:http://stackoverflow.com/questions/ 2521383/activerecord-validates-custom-field-name/2522186#2522186 –

+1

@HarishShetty那答案根本無助於這裏的命名空間問題! – lulalala

回答

94

我檢查了'model_name.human'源代碼並找到'i18n_key'方法。我曾經嘗試這樣做:

irb(main):006:0> Products::Car.model_name.i18n_key 
=> :"products/car" 

然後,我改變了我的陽明文件到這一點:

activerecord:  
    models: 
    products/car: "Автомобиль" 
    attributes: 
    products/car: 
     owner: "Владелец" 

和它的作品!

+5

感謝分享。 – vise

+0

感謝您分享您的查找方法。這是在絆倒我的命名空間之後的單一模型名稱。 – Thilo

0

鐵軌3.2.12的好像被轉換回本:

activerecord: 
    models: 
    products: 
     car: "Автомобиль" 
    attributes: 
    products: 
     car: 
     owner: "Владелец" 

而且products/car: "Автомобиль"不工作了

+1

在3.2.13'''products/car:'''正在工作。 – baxang

+4

In rails 4.1.4'product/car:'正在工作 –

相關問題