2016-01-07 89 views
0

我正在一個Sharetribe網站上工作。添加以下行到我的person.rb文件:如何添加此翻譯?

validates_presence_of :address_line_1, on: :update 

但出現錯誤通知消息時,它說translation missing: en.layouts.notifications.[:address_line_1, "can't be blank"]

我在網上搜索,我不能看到我應該怎麼添加此翻譯?

僅供參考,Sharetribe在Ruby 2.1.2和Rails 3.2.21上運行。

+0

你見過這個http://stackoverflow.com/questions/7686013/how-to-translate-active-record-model-validationations –

+1

看起來像你需要在你的yaml文件中添加翻譯結構:en - > activerecord - > models - > errors - > layouts - > notification - > address_line_1 - >用你想要的值填空 – dsounded

回答

1

所有語言環境都在'config/locales/en.yml'文件中定義。 在文件中添加翻譯錯誤象下面這樣:

layouts: 
    notifications: 
    address_blank_error: "Address line 1 can't be blank" 

,並在你的people_controller.rb更新代碼:

def update 
    . 
    . 
if target_user.update_attributes(.....) 
    ..... 
else 
    if target_user.errors[:address_line_1].present? 
    flash[:error] = t("layouts.notifications.address_blank_error") 
    else 
    flash[:error] = t("layouts.notifications.#{target_user.errors.first}") 
    end 
end