Toute idée comment géocodage d'installation avec des rails 5?

voix
-1

Je suis en train d'obtenir la latitude et la longitude de l'adresse, mais quand je lance rails db: latitude et la longitude de semences reste vide et le reste des champs seront classés

voici mon modèle

    attr_accessor :lat, :lng
    geocoded_by :address, :latitude  => :lat, :longitude => :lng
    after_save :geocode, if: ->(building){ building.address.present? }

et j'ai gem « géocodage » dans Gemfile

    My Rails version 5.0.6
    and ruby version 2.4.1

Note: Je dois utiliser seule gemme « de géocodage » C'est tout ce que j'ai, merci d'avance

Créé 06/12/2017 à 07:05
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
2

after_save signifie géocodage est effectué après l'enregistrement est enregistré dans la base de données et donc les informations géocodage lui-même ne sont pas enregistrées dans la base de données.

Par ailleurs l' attr_accessor :lat, :lngemporte sur les méthodes de lecture et de définition fournies par Rails pour les latet lngcolonnes de base de données.

Il suffit de changer votre code pour:

# remove this line: attr_accessor :lat, :lng
geocoded_by :address, :latitude  => :lat, :longitude => :lng
before_save :geocode, if: ->(building){ building.address.present? }
Créé 06/12/2017 à 07:33
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more