2013-05-04 12 views
8

Dosya yükledikten sonra, model kaydedilmeden önce bu dosyayı açmak mümkün mü?Geçici dosyayı, Rails modeline kaydedilmeden önce açın. Rails model

/Ortak klasördeki dosyaları kaydetmek için Paperclip kullanıyorum.

def model_method 
    f = open(self.upload.queued_for_write[:original].url) 
end 

Güncelleme:

ecoologic gelen yanıt dayanarak, .path kullanmak yerine yeterince

+2

Carrierwave, kağıt atağına da inanabilir .. – MikDiet

+0

@MikDiet Aslında CarrierWave kullanarak sona erdi, onunla daha iyi bir deneyim yaşıyorum :) –

cevap

13

o buldu .url benim için çalışmadı, path çalıştı. İşi hile yaptık. hile yaptı.

+1

Hot dog! Beni biraz zaman kurtardı. Modelimde after_post_process geri çağırma kullanıyordum ve geri aramada dosyayı okumaya çalışırken DOSYA BULMADI. –

+0

Bu sorunu çözmek için ne yaptınız? – drmwndr

5

Kapat Paperclip mücevher daha yeni sürümleri için .url ancak

class Book < ActiveRecord::Base 
    before_save :open_it 
    has_attached_file :upload 

    def open_it 
    a_file = open(upload.url) # this doesn't work before save ? 
    # ... 
    end 
end