validates :name, uniqueness: true
以上验证name
具有区分大小写的唯一性。存在任何其他默认验证器/选项以包括不区分大小写的检查。
请帮忙。 提前谢谢。
答案 0 :(得分:4)
我在这里找到了这段代码:https://stackoverflow.com/a/6987482/2754188
您可以使用以下行:
validates :name, :uniqueness => { :case_sensitive => false }
答案 1 :(得分:1)
如果您使用的是text
- 列,则以下内容应该可以轻松完成:
validates_uniqueness_of :name
case_sensitivity的default
设置为:true
,您甚至可以在验证中添加以下内容:
validates_uniqueness_of :name, :case_sensitive => false
然而,非text
列会忽略此设置。
答案 2 :(得分:1)
如果你正在研究Rails应用程序中记录的唯一性,那么请提醒一下这篇Rails文章,它说Rails的唯一性不是万无一失的。向下滚动到本文Rails - Concurrency and integrity issues的底部以了解详细信息。
简而言之,在并发操作期间仍可能发生重复。
我在并发期间遇到了Rails应用程序中的重复问题,我不得不在表上应用数据库级唯一索引。