Я разбираю JSON, возвращенный из мест Google в одной из моих моделей. Он работал хорошо, пока я не приступил к реализации ActiveModel сериализаторы, и теперь я получаю эту ошибку:JSON.parse, конфликтующий с ActiveModel :: Сериализаторы :: JSON :: Module?
undefined method `parse' for ActiveModel::Serializers::JSON:Module
Равномерное хитрее часть, что запуск каждой команды с помощью командной строки все еще работает отлично. Вот код ошибки. Является ли библиотека ActiveModel Serializer противоречащей библиотеке JSON? Я не мог найти никого, упоминающего эту проблему, поэтому, возможно, я просто пропустил что-то основное. Любые идеи очень приветствуются.
def self.create_from_google(ref, current_user_id, google_api_key)
feed_url = "https://maps.googleapis.com/maps/api/place/details/json?placeid=#{ref}&sensor=true&key=#{google_api_key}"
resp = Net::HTTP.get_response(URI.parse(feed_url))
data = resp.body
json = JSON.parse(data)
if json["status"] != "OK"
return false
elsif json["status"] == "OK"
...
end
end
возможно попробуйте Object :: JSON.parse (data). Я думаю, что это путает, на каком модуле JSON вы ссылаетесь. – jgraft
Ах, спасибо! Я знал, что это должно быть так просто. Если вы добавите в качестве ответа, я соглашусь с ним. – scottier