如何使用带有Geocoder轨道的两个位置

时间:2015-10-24 17:08:19

标签: ruby-on-rails rails-geocoder

我在Rails中使用geocoder gem,但我的模型有两个locataions(route_from,route_to)。
我只能将它用于一个属性。但我不会同时使用两者。

geocoded_by :address  
after_validation :geocode 


我该怎么办?

1 个答案:

答案 0 :(得分:1)

Geocoder并非真正构建为在同一模型中具有句柄位置。你应该将你的领域分成两个模型,而不是用锤子击打一个skrew:

class Journey < ActiveRecord::Base
  has_one :route_from, class: 'Waypoint'
  has_one :route_to, class: 'Waypoint'
end

class Waypoint < ActiveRecord::Base
  reverse_geocoded_by :latitude, :longitude
  after_validation :reverse_geocode  # auto-fetch address
end

如果您可以想象具有两个以上节点的路线,您可能需要使用连接模型进行设置。