2015-10-24 1 views
0

Я использую geocoder gem в Rails, но моя модель имеет две локации (route_from, route_to).
Я могу использовать его только для одного атрибута. Но я не буду использовать оба.Как использовать два местоположения с рельсами Geocoder

geocoded_by :address 
after_validation :geocode 


Что мне делать?

+0

В чем ваша проблема, в точности? Что вызывает у вас проблемы? Вы должны расширить вопрос более подробно. – tompave

ответ

1

Геокодер на самом деле не построен, чтобы иметь расположение ручек в той же модели. Вместо того, чтобы бить в 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 

Если вы можете представить себе маршрут, имеющий более двух узлов, вы можете установить его с присоединиться к модели.

+0

Спасибо, но как создать новое путешествие таким образом? –

+0

Использовать accepts_nested_attributes – max