微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

与 Apartment gem 一起使用时,向 ActiveStorage 资源发出请求偶尔会失败 用例问题当前的解决方法

如何解决与 Apartment gem 一起使用时,向 ActiveStorage 资源发出请求偶尔会失败 用例问题当前的解决方法

用例

我们将 Apartment gem 与 A​​ctiveStorage 一起使用。 在我们的 Amazon S3 服务器中,我们为应用程序中的每个租户创建了一个存储桶。 由于 ActiveStorage 全局只能保存一个存储区,因此我们为每个请求切换 ActiveStorage 存储区。

问题

一个租户的请求得到处理,而另一个租户的新请求传入时,ActiveStorage 持有的存储桶会切换到新租户的存储桶。 现在,如果第一个租户请求尝试访问 ActiveStorage 中的资源,则会导致失败,因为请求的存储桶名称不正确

Pictorial representation attached.

当前的解决方法

用于检查生成的 ActiveStorage URL 是否有效的回退机制。如果无效,将ActiveStorage持有的bucket名称改成当前租户的bucket名称并重新请求

有没有更好的方法解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?