Я делаю карту для форматирования некоторых данных для экспорта PDF. Часть этого использует OpenURI для открытия изображения. Однако проблема заключается в том, что некоторые ссылки на изображения связаны с внешними сайтами и сломаны. Таким образом, я случайно получаю 404 ошибки ...Как спасти 404s от OpenURI на карте
Я попытался сделать спасение на карте, но это ошибки. Я попытался сделать спасение внутри метода, но тогда это не приводит к отсутствию данных. Каков правильный способ сделать это?
В идеале я хотел бы установить изображение в качестве изображения-заполнителя, которое у меня есть на моем сервере. Было бы лучше определить отдельный метод для этого?
Вот мой метод на данный момент:
def wish_list_item_rows
WishListItem.where(:wish_list_id => @wish_list.id).map { |wishlistitem| [wishlistitem.product.name, {:image => open(wishlistitem.product.image_url)}] }
end
Я хочу, чтобы добавить примечание на это, что выполнение 'rescue' с ошибкой является трудоемкой задачей относительно очень много времени, и поэтому я бы рекомендовал посмотреть, есть ли способ проверить, не возникает ли ошибка 404 без использования исключений. –
Эй, @JeremyRodi какие-нибудь идеи о том, как этого достичь? Это хорошо работает для меня, но понимаю вашу мысль. Хотелось бы услышать ваши мысли – bnussey
@bnussey 'open-uri' использует' Net :: HTTP' под капотом, поэтому вы, вероятно, можете это использовать. Или вы можете использовать HTTP-камень, который выполняет запросы для вас. –