JSON.parse конфликтует с ActiveModel::Serializers::JSON::Module?

Я анализирую JSON, возвращенный из Google, в одной из моих моделей. Он работал нормально, пока я не начал внедрять сериализаторы ActiveModel, и теперь я получаю эту ошибку:

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

person scottier    schedule 03.02.2015    source источник
comment
возможно, попробуйте Object::JSON.parse(data). Я думаю, что это сбивает с толку, на какой модуль JSON вы ссылаетесь.   -  person jgraft    schedule 04.02.2015
comment
Ах, спасибо! Я знал, что это должно быть что-то очень простое. Если вы добавите в качестве ответа, я приму это.   -  person scottier    schedule 04.02.2015


Ответы (1)


может попробовать Object::JSON.parse(data). Я думаю, что это сбивает с толку, на какой модуль JSON вы ссылаетесь

person jgraft    schedule 03.02.2015