【问题标题】:Multilingual support for custom validation messages in RailsRails 中对自定义验证消息的多语言支持
【发布时间】:2014-12-11 17:40:14
【问题描述】:
您好,假设我的帐户模型中有以下内容:
validates :name, length: {in: 1..70, message:%Q|Please enter a decent name Sr.|}
如何为这些自定义验证消息添加多语言支持?我查了this教程
但我不知道如何翻译模型中的自定义验证消息。
【问题讨论】:
标签:
ruby-on-rails
validation
ruby-on-rails-4
activerecord
【解决方案1】:
我需要一次在模型中使用翻译,所以我这样做了:
TITLE = { 0 => :"employee.title.mrs",
1 => :"employee.title.mr",
2 => :"employee.title.miss" }
这些是 select 的选项,在 select 中我使用了t(value_of_key_here),value 是一个字符串,被视为区域设置的键。
所以在你的情况下这可能有效(不太确定):
validates :name, length: {in: 1..70, message: :"enter_decent_name"}
这将在您的验证消息中返回 key,而 Rails 只会抱怨您必须添加到 yml 文件中的翻译中缺少 key:
enter_decent_name: 'Please enter a decent name Sr.'