ruby-on-rails - 如何自定义 rails activerecord 验证错误消息以显示属性值

标签 ruby-on-rails ruby activerecord

当用户尝试使用已存在的名称创建记录时,我想显示如下错误消息:

name "some name"已被占用

我一直在努力做:

validates_uniqueness_of :name, :message => "#{name} has already been taken"

但这会输出表名而不是 name 属性的值

最佳答案

2 件事:

  1. 验证消息使用 Rails I18n style interpolation ,即 %{value}
  2. 关键是 value 而不是 name,因为在国际化的背景下,您并不真正关心模型的其余部分。

所以你的代码应该是:

validates_uniqueness_of :name, :message => '%{value} has already been taken'

关于ruby-on-rails - 如何自定义 rails activerecord 验证错误消息以显示属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6073303/

相关文章:

ruby-on-rails - 将 libsass 与 Rails Assets 管道一起使用

ruby-on-rails - 在 Rails 控制台中获取 cURL 响应主体

ruby-on-rails - 如何在 Rails 3 中订购包含的元素

ruby - 'Array#each' 中的 If 语句仅在最后一个元素上返回 'true'

css - 如何将数百个 CSS 文件转换为 SCSS 文件?

mysql - sql(mysql)中哪些用户与旧用户相关的列表

ruby-on-rails - has_many :through Association - Modification?

ruby-on-rails - Rails 4+ 最佳实践 : Delete parent while keeping children

arrays - 在ruby中获取数组的随机非重复元素

php - CodeIgniter ActiveRecord 一次一行