2011-09-19 38 views
12

Làm cách nào để tạo đường dẫn bằng kẹp giấy khi sử dụng Amazon S3?Kẹp giấy và Amazon S3 cách thực hiện đường dẫn?

thư mục My vào xô của tôi là:

/image/:id/:filename 

mô hình của tôi:

has_attached_file :image, 
    :storage => :s3, 
    :bucket => 'mybucket', 
    :s3_credentials => { 
     :access_key_id => ENV['S3_KEY'], 
     :secret_access_key => ENV['S3_SECRET'] 
    } 

Trả lời

18

Hãy thử điều này:

has_attached_file :image, 
    :storage => :s3, 
    :bucket => 'mybucket', 
    :path => "/image/:id/:filename", 
    :s3_credentials => { 
     :access_key_id => ENV['S3_KEY'], 
     :secret_access_key => ENV['S3_SECRET'] 
    } 
10

Tôi đã viết một bài về nó một vài tháng trở lại. Tôi cũng đã viết về cách bạn có thể thêm thuộc tính từ lớp, ví dụ như không sử dụng id (Tôi không thích nó) và sử dụng mã thông báo thay thế.

Read the post here...

Những điều cơ bản:

để có được một con đường với một id

has_attached_file :avatar, 
  :styles => 
  { 
    :tiny => "48x48>", 
    :preview => "175x175>", 
    :large => "300x300>", 
    :huge => "500x500>" 
  }, 
  :storage => :s3, 
  :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", 
  :path => ":class/:attachment/:id/:style.:extension", 
  :bucket => 'lopsum', 
  :default_url => "/images/photo01.jpg" 

và, nếu bạn muốn thay đổi nó để cái gì khác ...

has_attached_file :avatar, 
  :styles => 
  { 
    :tiny => "48x48>", 
    :preview => "175x175>", 
    :large => "300x300>", 
    :huge => "500x500>" 
  }, 
  :storage => :s3, 
  :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", 
  :path => ":class/:attachment/:token/:style.:extension", 
  :bucket => 'lopsum', 
  :default_url => "/images/photo01.jpg" 

và trong bộ khởi tạo

Paperclip.interpolates :token do |attachment, style| 
  attachment.instance.token 
end 
Các vấn đề liên quan