验证rails4中的唯一性并且区分大小写失败

时间:2014-03-31 12:37:18

标签: ruby-on-rails-4

validates :name, uniqueness: true

以上验证name具有区分大小写的唯一性。存在任何其他默认验证器/选项以包括不区分大小写的检查。

请帮忙。 提前谢谢。

3 个答案:

答案 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应用程序中的重复问题,我不得不在表上应用数据库级唯一索引。