В Chrome недавно было сделано много изменений, и одно из них нарушило оператор кода, который я использую для извлечения документа, хранящегося в базе данных, связанного с родительской записью. Действие по загрузке файла и созданию отношения вложения работает, поэтому мои пользователи все еще могут добавлять документы. Они больше не могут загружать и просматривать сохраненные вложения документов. Код использует вспомогательный метод link_to и, по-видимому, правильно строит ссылку, что подтверждается тем фактом, что она по-прежнему работает с использованием Edge, поэтому у моих пользователей есть уродливый обходной путь, но мне нужно понять, что происходит. Я подтвердил, что проблема действительно в Chrome, потому что сначала я не мог воссоздать дефект в разработке (пока я не обновил свой браузер Chrome до текущей версии.) Теперь я могу воссоздать дефект в своей среде разработки.
При нажатии на ссылку в моей форме Chrome отображает экран ошибки с таким текстом:
This page isn't working
(*localhost*) sent an invalid response
net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION
Если я извлекаю ссылку с помощью инструментов разработчика и пытаюсь выполнить ее в пустом окне браузера, я получаю ту же ошибку.
Ссылка построена так:
<a href="/attachment/(*record-key-value*)/(*name-of-the-file attachment*)">(*name of the file attachment*)</a>
Прежде чем вы спросите, да, я подтвердил, что в именах моих файлов нет запятых или кавычек! лол
Я надеюсь, что кто-то где-нибудь может указать мне на решение, надеюсь, простое, может быть, очевидное, которое я могу использовать, чтобы моя веб-форма снова хорошо играла с Chrome - изменение кода приложения, конфигурация веб-сервера (я работаю на RHEL7 Apache в производстве и Puma в разработке, моя база данных - Oracle, и я строю на Ruby 2.3.6 и Rails 5.1.5, а также на многих других гемах).
Надеюсь, я рассмотрел все соответствующие пункты. Спасибо, что нашли время, чтобы прочитать этот пост!