如何获取Active Storage Blob的本地路径?

时间:2019-09-26 15:38:21

标签: ruby-on-rails rails-activestorage

我构建了Rails应用程序,并确定我会使用Active Storage(AS)。然后,我意识到AS将所有文件都转储到存储根目录中。我需要将其隔离在客户之间,而且我宁愿在模型的基础上进行组织,等等。Carrierwave(CW)可以直接使用。我将构建一个rake任务,以将这些旧附件迁移过来。

AS Blob键是本地存储的文件名,但在我的本地计算机上,其存储方式如下:

/storage/HR/mw/HRmWZZNk4wd7dD1nt9iUbi1n

以及在我的S3兼容商店中:

/HRmWZZNk4wd7dD1nt9iUbi1n

似乎没有内置方法返回AS文件(CW具有)的本地路径。我知道我可以即时建立本地路径,但是想看看这里是否缺少明显的东西。

1 个答案:

答案 0 :(得分:0)

在这里找到它

Get path to ActiveStorage file on disk

ActiveStorage::Blob.service.send(:path_for, user.avatar.key)