验证rails 4中数据库中是否存在重复记录

时间:2016-10-13 07:58:57

标签: validation ruby-on-rails-4.2

我有模型联系字段f_name,m_name,l_name和xyz_id。我想验证数据库中是否存在相同的记录(不区分大小写)。

我在模型中尝试了以下语句:

validates_uniqueness_of :f_name, scope: [:m_name, :l_name, :xyz_id], message: 'Contact already exist'  

上述语句能够灵敏地验证大小写,我的要求是不区分大小写的验证。任何建议对我都有帮助。谢谢。

例:
record1 - f_name:fname,l_name:lname,m_name:mname,xzy_id:1
record2 - f_name:Fname,l_name:Lname,m_name:Mname,xzy_id:1

所以基本上,系统不应该允许添加record2,因为record1和record2具有相同的数据。为每个字段添加单独的验证以检查不区分大小写的唯一性将生成4个错误消息的列表。我的目标是显示单词“联系已存在”

1 个答案:

答案 0 :(得分:0)

您可以像这样使用

validates_uniqueness_of :f_name, scope: [:m_name, :l_name, :xyz_id], message: 'Contact already exist', case_sensitive: false

有关详细信息,请参阅此link.