[英]How do I override generic activerecord error messages in ruby-on-rails?
在我的en.yml翻譯文件中,我有:
activerecord:
errors:
template:
header:
one: "1 error prohibited this {{model}} from being saved"
other: "{{count}} errors prohibited this {{model}} from being saved"
在登錄我的應用程序期間發生activerecord / validation錯誤時,錯誤消息:
“1錯誤禁止此用戶會話被保存”
顯示(其中user_session是正在使用的模型)。 我寧願讓它說出像
“發生了一次錯誤,導致您無法登錄自己的帳戶”。
如何使用我的特定錯誤消息覆蓋常規錯誤消息?
我發現路由Rails(2.3.8)跟隨轉換錯誤消息(使用i18n 0.6.0):另外,不要忘記更改full_messages格式,使其與您的自定義消息相對應。
這是模型“Horse”的示例,它驗證屬性“name”(不能為空)。
在你的模型中(app / models / horse.rb):
validates_presence_of :name
在您的翻譯文件(config / locales / en.yml)中:
en:
activerecord:
errors:
models:
horse:
attributes:
name:
blank: "Hey, are you the horse with no name?"
full_messages:
format: "%{message}"
下面是我發現這個的RoR指南頁面的鏈接。 還列出了每種驗證變體都需要哪些消息。
符號和默認值可能會隨着Rails和/或i18n的更高版本而改變。
您需要制作自己的FormBuilder並更改其翻譯密鑰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.