我正在使用带有Paperclip的FOG。我添加了以下代码来提供动态目录名称。
fog_directory: proc { |file| file.instance.repo.name }
它正确地创建了雾目录但是当我尝试获取url时,它添加了amazon url的本地系统路径。
答案 0 :(得分:0)
我通过覆盖Paperclip模块解决了这个问题。
module Paperclip
module Storage
module Fog
def host_name_for_directory
if directory_name.to_s =~ Fog::AWS_BUCKET_SUBDOMAIN_RESTRICTON_REGEX
"#{directory_name}.s3.amazonaws.com"
else
"s3.amazonaws.com/#{directory_name}"
end
end
def directory
@directory ||= connection.directories.new(key: directory_name)
end
def directory_name
if @options[:fog_directory].respond_to?(:call)
@options[:fog_directory].call(self)
else
@options[:fog_directory]
end
end
end
end
end