我正試圖向用戶展示更好的驗證錯誤消息。例如,一個給定的唯一性驗證消息說,沿着線的東西:有沒有辦法使用i18n和Rails 4插入屬性值?
學生已經報名參加此課程
不過,我希望它說:
學生Leroy Jenkins已加入微積分II
原因是因爲我有一個嵌套的表單,同時創建了很多students_courses
,所以用戶可能會看到這些消息中的半數,並且他們不會知道哪些學生無效。
ActiveRecord是否爲我們提供了自動獲取插值模型屬性的選項?像%{model.student.name}
?如果沒有,我已經知道如何手動傳遞插值參數,我只是問是否有更好的方法來做到這一點。
順便說一句,它必須使用i18n,因爲我們必須支持超過1種語言。
上述錯誤信息被放置在en.yml
文件在此結構之下:
activerecord:
errors:
models:
students_courses:
taken: "is already enrolled in this course"