2011-02-27 9 views
11

Tôi tạo ra 3 phiên bản Avatar của tôi:Làm thế nào để bạn tái xử lý các phiên bản khác nhau của một hình ảnh trong Carriewave?

process :resize_to_limit => [400, 400] 

    version :big_thumb do 
    process :resize_to_limit => [80, 80] 
    end 

    version :small_thumb do 
    process :resize_to_limit => [50, 50] 
    end 

Tôi đã viết một chức năng Crop để cắt phiên bản ban đầu của tôi, mà làm việc, nhưng tôi dường như không thể tái tạo 2 hình thu nhỏ của tôi dựa tắt của phiên bản gốc mới cắt .

Bất kỳ ý tưởng nào?

Trả lời

18

Xin lỗi nếu điều này không phải là những gì bạn đang tìm kiếm nhưng, tôi mất này từ các phiên bản carrierwave docs

Tái

Bạn có thể đi đến một tình huống mà bạn muốn hồi tố thay đổi một phiên bản hay thêm một cái mới. Bạn có thể sử dụng tái tạo! để tạo lại các phiên bản từ tệp cơ sở. Điều này sử dụng một cách tiếp cận ngây thơ mà sẽ tải lên lại và xử lý tất cả các phiên bản.

instance = MyUploader.new 
instance.recreate_versions! 

Hoặc trên một uploader gắn:

User.all.each do |user| 
    user.avatar.recreate_versions! 
end