我设法使用神社将文件上传到s3,但我试图根据它所属的相册将每张照片上传到不同的文件夹。
假设我有一个名为:的存储桶abc
:
上传图片到相册:family
应该上传图片到:abc/family/...
上传图片到相册:friends
应该上传图片到:abc/friends/...
我没有找到Shrine.storages
在初始化文件中执行此操作的方法。
我想这样做的方法是以某种方式使用default_storage
和dynamic_storage
插件,但我还没有成功。
有什么建议/解决方案吗?
非常感谢 :)
关系:
Album has_many :photos
Photo belongs_to :album
Photo
类有image_data
神社的领域。
我在初始化程序中的代码:(基本的东西)
s3_options = {
access_key_id: ENV["S3_KEY"],
secret_access_key: ENV["S3_SECRET"],
region: ENV["S3_REGION"],
bucket: ENV["S3_BUCKET"],
}
Shrine.storages = {
cache: Shrine::Storage::S3.new(prefix: "cache", **s3_options),
store: Shrine::Storage::S3.new(prefix: "store", **s3_options),
}
编辑:
我发现有一个名为:的插件pretty_location
,它添加了一个更好的文件夹结构,但它不完全是我需要的,它添加/Photo/:photo_id/image/:image_name
在存储桶下,但我需要专辑名称。