基于地理区域或地址创建 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 验证的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
在 Rails 中验证多封电子邮件和处理错误的最佳方法是啥?
无需身份验证的安全 Rails 3 MultiStep 订单的最佳方法