首页 > 解决方案 > Rails 将 DB 列名称添加到错误消息中

问题描述

我正在尝试显示与预定义消息不同的消息。在我的模型文件中,我添加了这一行来检查该公司是否存在于数据库中。我正在使用 Rails 5.2.2

class Company < ApplicationRecord
    validates :tax_no, :uniqueness => {message: "This tax number has already been used"}
end

我得到的结果是:

公司税号 此税号已被使用

如何删除“公司税号”?

标签: activerecordruby-on-rails-5

解决方案


这取决于您如何显示错误消息。

你会从下面得到正确的想法,

u = User.new

u.valid?
# => false

u.errors.messages
# {:email=>["This field is required.", "This field is required.", "This field is required."], :password=>["This field is required."]}

u.errors.full_messages
# => ["Email This field is required.", "Password This field is required."]

u.errors.messages[:email]
# => "This field is required."

您必须检查您的视图部分并使用@company.errors.messages[:tax_no]if @company.valid?is false fortax_no


推荐阅读