Я пытаюсь внести улучшения в проект для школы (супер новичок), используя заполненные данные из API, чтобы создать приложение CLI с использованием Ruby и ActiveRecord, а не Rails. Мне пришлось как бы «обмануть» данные, взяв их (хэш идентификаторов объектов), добавив этот идентификатор в конец другой URL-ссылки (создав массив этих ссылок), а затем повторив каждую из них и сделав GET request, помещая его в окончательный хэш, из которого я перебираю и отправляю в свою базу данных.
Я смог успешно сделать это один раз, но я хотел расширить набор данных, поэтому я очистил базу данных и пошел на повторное заполнение, и это больше не работает. Он висит довольно долго, затем, кажется, завершается, но данных нет. Единственное изменение, которое я сделал в своем коде, касалось URL-адреса, но даже когда я вернул его обратно, он больше не работает. Тем не менее, он содержит все, что я написал вручную. URL-адрес отлично работает в моем браузере. Я попробовал rake:db:migrate:reset, но мне это не помогло.
Я прошу прощения, если мой код немного запутан, я просто пытаюсь разобраться в этой проблеме, и я впервые работаю с API / создаю такой проект. Я ценю любую помощь. Спасибо!
response = RestClient.get("https://collectionapi.metmuseum.org/public/collection/v1/search?departmentId=11&15&19&21&6q=*")
metData = JSON.parse(response)
url = "https://collectionapi.metmuseum.org/public/collection/v1/objects/"
urlArray = []
metData["objectIDs"].each do |e|
urlArray.push(url.to_s + e.to_s)
end
# urlArray.slice!(0,2)
urlArray
end
object_id_joiner
def finalHash
finalHash =[]
object_id_joiner.each do |e|
response = RestClient.get(e)
data = JSON.parse(response)
finalHash.push(data)
end
finalHash
end
finalHash
finalHash.each do |artist_hash|
if artist_hash["artistDisplayName"] == nil
next
end
if (!artist_hash["artistDisplayName"])
art1 = Artist.create(artist_name:artist_hash["artistDisplayName"])
else
next
end
if (!artist_hash["objectID"])
Artwork.create(title: artist_hash["title"],image: artist_hash["primaryImage"], department: artist_hash["department"], artist: art1, object_id: artist_hash["objectID"])
else
next
end
end