Ruby on rails 获取回形针文件为空时的路径

Ruby on rails 获取回形针文件为空时的路径,ruby-on-rails,amazon-s3,paperclip,Ruby On Rails,Amazon S3,Paperclip,在保存文件之前,有没有办法获取回形针文件的路径 比如说, Person.rb 这将返回零。 但我想找到一条路 因为我想得到直接上传到S3的url 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']

在保存文件之前,有没有办法获取回形针文件的路径

比如说,

Person.rb 这将返回零。
但我想找到一条路

因为我想得到直接上传到S3的url

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
class-Person10*60})
终止
我有这样的亲身体验的方法, 但当photo_文件为空时,我无法获取回形针文件的路径。 如有任何建议,将不胜感激。
谢谢

如果还没有照片,那么将没有照片路径可获取。我是不是误解了你的意思?是的,谢谢!但在上传照片之前,路径是固定的。例如,persons/photo_files/000/000/003/original.png。当然,在上传之前,如果你访问通行证,url就会丢失。但我想得到这个。
p = Person.new
p.photo_file.path
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