我正在尝试为正在上传到载波的文件设置store_dir,但我想要一个特定的url结构(就像我使用了paperclip)。我有两个版本:main和:thumb,但似乎使用model.id存储的url是/MODEl/ID/VERSION_IMAGENAME.FILETYPE。我试图弄清楚如何将网址结构为/MODEL/ID/VERSION/IMAGENAME.FILETYPE,但我没有运气。有什么帮助吗?
示例网址:
/event/1/main_IMG1922.JPG,但我想有/event/1/main/IMG1922.JPG。
谢谢!
答案 0 :(得分:0)
您可以执行此操作,覆盖此carrierwave wiki page
上显示的full_filename
和full_original_filename
方法
以下是他们将文件名从version_foo.jpg
更改为foo_version.jpg
的示例。根据您的需求进行定制。
module CarrierWave
module Uploader
module Versions
def full_filename(for_file)
parent_name = super(for_file)
ext = File.extname(parent_name)
base_name = parent_name.chomp(ext)
[base_name, version_name].compact.join('_') + ext
end
def full_original_filename
parent_name = super
ext = File.extname(parent_name)
base_name = parent_name.chomp(ext)
[base_name, version_name].compact.join('_') + ext
end
end
end
end