在保存文件之前有没有办法获取Paperclip文件的路径?
例如,
class Person < ActiveRecord::Base
has_attached_file :photo_file
end
某些.rb 中的p = Person.new
p.photo_file.path
返回nil。
但我想得到道路。
因为我想获取直接上传到S3的网址。
class Person < ActiveRecord::Base
def s3_put_url(path)
s3 = AWS::S3.new(
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
)
bucket_name = ENV['AWS_BUCKET']
bucket = s3.buckets[bucket_name]
path.slice!(0,1) if path[0] == '/'
object = bucket.objects[path]
@s3url = object.url_for(:put, { :expires => 10*60 }).to_s
end
我在Person模型中有这样的方法, 但是当photo_file为空时,我无法获取Paperclip文件的路径。 任何建议将不胜感激。 谢谢!