0

这是一个普遍的问题:如果我想验证街道地址的唯一性并想确保像“drive”和“dr”这样的语义平等在验证中被视为相同的东西,我将如何/在哪里声明这样验证的等式?

4

3 回答 3

1

You need to normalize those addresses somehow. I recommend the geocoder gem with google.

于 2013-05-13T01:56:00.060 回答
1

这是一个不平凡的问题。您不会使用有关规范​​化地址的临时规则列表来解决它。如果你想把它做好,你应该找到一个经过 USPS 认证的编码准确性支持系统 (CASS) 库,并用它来规范你的地址。

于 2013-05-13T02:24:43.780 回答
0

你可以validates :address, :uniqueness => true在你的模型中使用。

为了确保语义平等,您最好的办法是在保存之前进行一些清理,并将所有“dr”转换为“drive”,将所有 2 个空格转换为 1 个空格,等等。

但我怀疑你会成功!你为什么不直接使用邮政编码、邮政编码或其他名称?那应该是地址的唯一标识符,那么为什么不使用它呢?

于 2013-05-13T01:19:31.100 回答