用link_to helper生成的Ruby on Rails链接在Chrome中不再起作用

时间:2019-03-21 21:32:52

标签: ruby-on-rails google-chrome

Chrome最近进行了很多更改,其中之一破坏了我用来检索存储在数据库中与父记录相关的文档的代码语句。上传文件和创建附件关系的操作正在执行,因此我的用户仍然可以添加文档。他们不再能够下载和查看存储的文档附件。该代码正在使用link_to helper方法,并且似乎可以正确构建链接,并通过使用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>

在您询问之前,是的,我已经确认我的文件名中没有逗号或引号!大声笑

我希望某个地方的人可以为我提供一个解决方案,希望它很简单,也许很明显,我可以使用该解决方案使我的Web表单再次与Chrome完美兼容-应用程序代码更改,Web服务器配置(我正在RHEL7上运行Apache在生产中,Puma在开发中,我的数据库是Oracle,我正在使用Ruby 2.3.6和Rails 5.1.5以及许多其他gem进行构建。

我希望我已经涵盖了所有相关点。感谢您抽出宝贵的时间阅读这篇文章!

1 个答案:

答案 0 :(得分:0)

已通过将gem Attach升级到版本> = 1.0.5来解决此问题。非常感谢这位宝石作家的出色响应能力。