У меня есть какое-то время l oop в рельсах как
session['SPEAKERS'].map do |speaker|
begin
Component::AgendaSpeaker.create_with(
name: [speaker['FIRST_NAME'], speaker['LAST_NAME']].join(' '),
job_title: speaker['TITLE'],
remote_file_url: speaker['PHOTO_URL'],
description: speaker['EXPERTISE']
).find_or_create_by(
component_id: component_id(:agenda_speakers),
weg_id: speaker['SPEAKER_ID']
)
rescue
p "Rescue reached"
ensure
p "Ensure reached"
end
end
Для каждого выполнения l oop я пытаюсь создать и сохранить динамик, и иногда возникает исключение в active_record (из-за недоступности файла изображения или 403 запрещенного исключения et c).
Я бы хотел поймать это в моем блоке восстановления и обработать его дальше. Однако исключение перехватывается и спасается в другом месте (внутри active_record), что вызывает исключение непосредственно в моей консоли, и, следовательно, код вообще не достигает моего блока «спасения». Однако мой код достигает блока «гарантировать».
Как мне изменить свой код, чтобы достичь моего блока «спасения»?