2012-04-25 41 views
13

tôi gặp sự cố với kẹp giấy (3.0.2) sau khi nâng cấp lên đường ray 3.2 (từ 3.0.10).Kẹp giấy thay đổi đường dẫn hình ảnh sau khi nâng cấp lên đường ray 3.2

Nguyên con đường của một hình ảnh là:

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

và sau khi nâng cấp loại hình ảnh không bao giờ hiển thị một lần nữa !, nhưng nếu tôi tải lên một hình ảnh mới này sẽ hiển thị tốt trên trang, nhưng con đường mới sử dụng đó là:

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

Whats vui lòng nâng cấp? Có giải pháp nào để chuyển đổi đường dẫn cũ sang mới?

Tôi thử với "cào kẹp giấy: refresh: missing_styles" nhưng không hoạt động.

Phần cấu hình kẹp giấy là nó.

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" 

Xin cảm ơn trước.

+1

Là "smal" phân đoạn của uri mới một lỗi đánh máy? – Christian

+0

Bạn đã nâng cấp kẹp giấy hay chỉ là Rails? –

+0

Bạn có thể đăng phần của mô hình liên quan liên quan đến các tùy chọn Kẹp giấy cho tệp đính kèm không? –

Trả lời

1

Giả sử sự khác biệt "nhỏ" so với "smal" giữa đường dẫn ban đầu và hiện tại là lỗi chính tả, thay đổi rõ ràng khác là thêm hai đoạn số sau "/ photos /".

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

Tôi nghi ngờ điều này đến từ id_partition đang được sử dụng cho đường dẫn. Bạn có đặt một nội suy đường dẫn mặc định khác ở một số nơi khác không?

Nhìn vào mã của Paperclip Tôi thấy số id_partition method sẽ chịu trách nhiệm về điều này nhưng vẫn chưa tìm thấy bất kỳ tài liệu nào trỏ theo hướng thay đổi hành vi mặc định. Tôi đã không thực hiện theo các mã trong đá quý để xác định nếu nó là một lỗi hoặc thay đổi không có giấy tờ.

+0

cảm ơn người đàn ông, nó giống như một sự thay đổi không có giấy tờ cho tôi. – jgiunta

3

Tôi chỉ có một bản nâng cấp tương tự và chuyển xung quanh vấn đề của tôi theo cách này:

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

Khi @heavysixersays, thiết lập tùy chọn đường dẫn: như thế này sẽ buộc Paperclip hoạt động như trước đây. Tôi sẽ cố gắng kiểm tra lý do cho lỗi mặc dù – Christian

+0

cảm ơn! Đây là một tùy chọn để buộc đường dẫn và tôi sẽ làm việc, nhưng có thể tồn tại một phương pháp để thực hiện de di chuyển automatly i có nghĩa là. – jgiunta

+0

@jgiunta Tôi không nghĩ rằng có một cách để tự động di chuyển. Bạn có thể đọc [câu hỏi khác này] (http://stackoverflow.com/questions/10251309/paperclip-s3-migrating-existing-files-from-one-path-format-to-another/10337918#10337918) liên quan đến điều đó – Christian

14

tôi đã cùng một vấn đề. Bạn có thể khắc phục điều này bằng cách tạo ra một tập tin như config/initializers/paperclip.rb và đưa

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

Có bất kỳ kịch bản nào hoặc công việc cào để di chuyển các tệp từ vị trí cũ sang vị trí mới? –

Các vấn đề liên quan