如何检查Ruby

时间:2015-05-28 13:21:59

标签: ruby-on-rails ruby

编辑记录时遇到问题。我的问题是,当我编辑记录时,我必须检查一个名为serial_number的字段。如果它存在于我的数据库(表合同)中,程序将显示消息以通知用户该值已存在,如果不存在则保存到数据库。

现在我对如何检查serial_number的值是否存在感到困惑。

我使用Contract.exists?(params[:serial_nuber])进行检查,但在serial_number表中存在contracts值时返回false。

有人可以建议我如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

validate :serial_number, uniqueness: true

将此行添加到contact.rb。这将检查现有的序列号是否不应与其他合同一起添加。

答案 1 :(得分:0)

您使用了Contract.exists?(params[:serial_number])这是错误的Contract.exists?(serial_number: params[:serial_number]) 如果数据库中已存在serial_number,它将返回true。

OR

您可以在 contact.rb 文件中添加验证。

validates_uniqueness_of :serial_number, message: "Serial Number already exists."