कैसे रेल 5 के साथ सेटअप जियोकोडर को कोई भी विचार?

वोट
-1

मैं पता से अक्षांश और देशांतर प्राप्त करने के लिए कोशिश कर रहा हूँ लेकिन जब मैं रेल db चलाएँ: बीज अक्षांश और देशांतर खाली रहने और शेष फ़ील्ड वरीयता प्राप्त किया जाएगा

यहाँ अपने मॉडल है

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

और मैं मणि GemFile में 'जियोकोडर' है

    My Rails version 5.0.6
    and ruby version 2.4.1

नोट: मैं केवल 'जियोकोडर' मणि सब मेरे पास है है कि उपयोग करने की आवश्यकता, अग्रिम धन्यवाद

06/12/2017 को 07:05
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
2

after_save के बाद रिकॉर्ड डेटाबेस में सहेजा जाता है और इसलिए जियोकोडिंग जानकारी ही डेटाबेस में सहेजा नहीं गया है जियोकोडिंग किया जाता है का मतलब है।

इसके अलावा attr_accessor :lat, :lngके लिए रेल द्वारा प्रदान की मनुष्य और सेटर तरीके ओवरराइड करता है latऔर lngडेटाबेस कॉलम।

बस के लिए अपने कोड बदलने के लिए:

# remove this line: attr_accessor :lat, :lng
geocoded_by :address, :latitude  => :lat, :longitude => :lng
before_save :geocode, if: ->(building){ building.address.present? }
06/12/2017 को 07:33
का स्रोत उपयोगकर्ता

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