2012-04-25 8 views
13

रेलवे 3.2 (3.0.10 से) में अपग्रेड के बाद मुझे पेपरक्लिप (3.0.2) के साथ समस्या है।पेपरक्लिप रेलवे में अपग्रेड के बाद छवियों को बदलता है 3.2

मूल रूप से एक छवि के मार्ग था:

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

और कभी नहीं छवियों के इस प्रकार के उन्नयन के बाद फिर से दिखाने के !, लेकिन अगर मैं एक नया चित्र अपलोड इस पृष्ठ पर ठीक से प्रदर्शित करेगा, लेकिन नए पथ वह उपयोग है:

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

अपग्रेड में क्या खुशी है? पुराने पथ को नए रूपांतरित करने के लिए कोई समाधान है?

मैं "रेक पेपरक्लिप: रीफ्रेश: missing_styles" के साथ प्रयास करता हूं लेकिन काम नहीं करता है।

पेपरक्लिप कॉन्फ़िगरेशन अनुभाग यह है।

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" 

अग्रिम धन्यवाद।

+1

नई uri लिखने में कोई त्रुटि के "smal" खंड है सकते हैं? – Christian

+0

क्या आपने पेपरक्लिप को अपग्रेड किया था या बस रेल? –

+0

क्या आप प्रासंगिक मॉडल का सेक्शन पोस्ट कर सकते हैं जो अटैचमेंट के लिए पेपरक्लिप विकल्पों से संबंधित है? –

उत्तर

1

मूल और वर्तमान पथ के बीच "छोटा" बनाम "स्माल" अंतर मानना ​​एक टाइपो है, अन्य स्पष्ट परिवर्तन "/ फोटो /" के बाद दो संख्यात्मक खंडों को जोड़ना है।

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

मुझे संदेह है कि यह पथ के लिए उपयोग किए जाने वाले id_partition से आ रहा है। क्या आप किसी अन्य स्थान पर एक अलग डिफ़ॉल्ट पथ इंटरपोलेशन सेट कर रहे हैं?

पेपरक्लिप के कोड को देखते हुए मुझे id_partition method दिखाई देता है जो इसके लिए ज़िम्मेदार होगा लेकिन अभी भी डिफ़ॉल्ट व्यवहार में बदलाव की दिशा में इंगित कोई दस्तावेज नहीं मिला है। मुझे यह निर्धारित करने के लिए कि यह एक बग या अनियंत्रित परिवर्तन है, मुझे मणि में कोड का पालन नहीं करना पड़ेगा।

+0

धन्यवाद आदमी, यह मेरे लिए एक अनियंत्रण परिवर्तन की तरह है। – jgiunta

3

मैं सिर्फ एक समान उन्नयन था और मेरी समस्या के आसपास इस तरह से कराई:

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

@heavysixersays के रूप में, सेटिंग: पथ विकल्प इस तरह पेपरक्लिप को व्यवहार करने के लिए मजबूर करेगा। मैं त्रुटि के कारण की जांच करने की कोशिश करूंगा हालांकि – Christian

+0

धन्यवाद! यह पथ को मजबूर करने का एक विकल्प है और मैं काम करता हूं, लेकिन मेरा मतलब है कि माइग्रेशन स्वचालित रूप से मेरा मतलब है। – jgiunta

+0

@jgiunta मुझे नहीं लगता कि स्वचालित रूप से माइग्रेट करने का एक तरीका है। आप [0 अन्य प्रश्न] [http://stackoverflow.com/questions/10251309/paperclip-s3-migrating-existing-files-from-one-path-format-to-another/10337918#10337918) – Christian

14

मैं एक ही समस्या थी। आप की तरह config/initializers/paperclip.rb एक फ़ाइल बनाने के द्वारा इसे ठीक करें और डाल

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

के बारे में पढ़ सकते हैं क्या पुराने स्थान से फ़ाइलों को नए स्थानांतरित करने के लिए कोई स्क्रिप्ट या रेक कार्य है? –