基于地理区域或地址创建 Rails 验证的最佳方法是啥?

Posted

技术标签:

【中文标题】基于地理区域或地址创建 Rails 验证的最佳方法是啥?【英文标题】:What's the best way to create a Rails validation based on an geographic zone or an address?基于地理区域或地址创建 Rails 验证的最佳方法是什么? 【发布时间】:2012-05-24 15:24:48 【问题描述】:

我不知道对此采取什么策略,但我想在 Rails 中创建一个用户注册表单,它只允许您在某个地理区域内进行注册。例如,Cassat 以东的 32205 或 8th 以南的 32206。

有没有人知道处理这种事情的好方法?

包含所有已知有效地址的 yaml 文件?您可以使用 google maps api 做些什么吗?

【问题讨论】:

【参考方案1】:

Geocoder gem 可以帮助您解决这个问题...如果您对用户输入的地址进行地理编码,那么您可以进行另一个验证,如下所示:

validates :is_in_valid_area?

def is_in_valid_area?
  return unless geocoded?
  distance_from([40.714,-100.234]) < 30
end

您可能需要定义地理编码?方法自己检查坐标是否存在。

http://www.rubygeocoder.com https://github.com/alexreisner/geocoder

【讨论】:

以上是关于基于地理区域或地址创建 Rails 验证的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章