Ruby on rails 计算相似字符串

Ruby on rails 计算相似字符串,ruby-on-rails,ruby,Ruby On Rails,Ruby,这个人有很多地址。如果API的JSON响应与数据库中的任何地址不同,我将尝试为某人创建一个地址 我写了以下内容,它适用于文字用例;它可以防止地址重复: p = Person.find(1) unless p.addresses.any? { |i| i.address_1.eql?(@response['addresses'][0]['street'].upcase) } 这是通过获取数组、映射address对象和调用eql来实现的?地址栏上的街道地址 但是,如果街道地址后缀为blvd或ln,

这个人有很多地址。如果API的JSON响应与数据库中的任何地址不同,我将尝试为某人创建一个地址

我写了以下内容,它适用于文字用例;它可以防止地址重复:

p = Person.find(1)
unless p.addresses.any? { |i| i.address_1.eql?(@response['addresses'][0]['street'].upcase) }
这是通过获取数组、映射address对象和调用eql来实现的?地址栏上的街道地址


但是,如果街道地址后缀为blvd或ln,我想将该地址添加到此人。我还没有找到一个方法来计算两个字符串的相似性。有类似的方法吗?那可能会对我有帮助吗?

可能会有帮助:如果。。。后缀…,我想添加该地址您的意思是我不想添加该地址吗?您可以尝试使用匹配函数比较字符串[另一种选择可能是对地址进行地理编码并对其进行规范化,然后将规范化的地址存储在数据库中。这对不同名称的Boulevard vs Blvd、Road vs Rd等有帮助。@Doon我们实际上在将地址输入Ruby方法后对其进行地理编码并对其进行规范化。我正在考虑的主要问题是,如果t已经存在于数据库中,因此我为什么调用eql?来比较数组中的地址。