2012-04-25 10 views
13

Mam problem z spinaczem (3.0.2) po aktualizacji do szyn 3.2 (z 3.0.10).Ścieżka zmiany ścieżki spinacza po aktualizacji do szyn 3.2

Początkowo ścieżka jednym obrazie było:

"http://localhost:3000/system/photos/94/small/AudiLogo.jpg?1335392139" 

i po aktualizacji tego rodzaju obrazów nigdy nie pokazuj ponownie !, ale jeśli mogę przesłać nowy obraz ten będzie wyświetlany prawidłowo na stronie, ale nowa droga to użycie to:

"localhost:3000/system/products/photos/000/000/094/smal/AudiLogo.jpg?1335392139" 

Co się stało w aktualizacji? Istnieje jakieś rozwiązanie do konwersji starej ścieżki na nową?

Próbuję z "rake paperclip: refresh: missing_styles", ale nie działa.

Sekcja konfiguracji spinacza to tak.

has_attached_file :photo, 
     :processors => lambda { |a| 
         if a.external? 
           [:thumbnail] 
         else 
           [:thumbnail,:watermark] 
         end 
         }, 
     :styles => { 
       :slider => { :geometry => "350x312#", :format => :jpg, :watermark_path => "#{Rails.root}/public/images/watermark.png", :position => "NorthEast" }, 
       :small => "100x50>", 
       :medium => "200>x200", 
       :thumb => "100x100>", 
       :big => { :geometry => "640x480>", :format => :jpg, :watermark_path => "#{Rails.root}/public/images/watermark.png" } 
       }, 
     :default_url => "/images/noimage.png" 

Z góry dziękuję.

+1

Czy „smal” segment nowy URI literówkę? – Christian

+0

Czy zaktualizowałeś również spinacz lub po prostu Rails? –

+0

Czy możesz opublikować sekcję odpowiedniego modelu, który zajmuje się opcjami spinacza dla załącznika? –

Odpowiedz

1

Założenie, że "mała" a "smal" różnica między oryginalną a bieżącą ścieżką jest literówką, inną oczywistą zmianą jest dodanie dwóch segmentów numerycznych po "/ photos /".

".../photos/000/000/094/smal/AudiLogo.jpg?1335392139" 

Podejrzewam, że pochodzi z id_partition, które są używane do ścieżki. Czy w innym miejscu ustawiasz inną interpolację ścieżki domyślnej?

Patrząc na kod Paperclip widzę, że id_partition method byłby odpowiedzialny za to, ale nadal nie znalazł żadnej dokumentacji wskazującej w kierunku zmiany domyślnego zachowania. Nie podążałem za kodem w klejnocie, żeby stwierdzić, czy to błąd, czy nieudokumentowana zmiana.

+0

dziękuję człowieku, to jak zmiana nieudokumentowa dla mnie. – jgiunta

3

prostu miałem podobną aktualizację i poprowadzone wokół mojego problemu w ten sposób:

has_attached_file :image, 
    :url => "/images/photos/:id/:basename_:style.:extension", 
    :path => ":rails_root/public/images/photos/:id/:basename_:style.:extension", 
+0

Jako @heavysixersays, ustawienie opcji: ścieżka taka jak ta spowoduje, że Paperclip będzie zachowywał się tak jak kiedyś. Spróbuję sprawdzić przyczynę błędu poprzez: – Christian

+0

dzięki! Jest to opcja wymuszająca ścieżkę i działałabym, ale może istnieć metoda automatycznej de migracji. – jgiunta

+0

@jgiunta Nie sądzę, że istnieje sposób automatycznej migracji. Możesz przeczytać [to inne pytanie] (http://stackoverflow.com/questions/10251309/paperclip-s3-migrating-existing-files-from-one-path-format-to-another/10337918#10337918) dotyczące tego – Christian

14

Miałem ten sam problem. Można to naprawić tworząc plik config/jak inicjalizatorów/paperclip.rb i umieścić

Paperclip::Attachment.default_options.merge!(
    :path => ":rails_root/public/system/:attachment/:id/:style/:basename.:extension", 
    :url => "/system/:attachment/:id/:style/:basename.:extension" 
)
+1

Czy jest jakiś skrypt do przeniesienia lub przeniesienia zadania ze starej lokalizacji na nową? –

Powiązane problemy