2010-12-11 12 views
5

मैं फोटो गैलरी/स्टोर बनाने के लिए पेपरक्लिप का उपयोग करने के साथ खेल रहा हूं। गैलरी में कई तस्वीरें हैं, और एक फोटो गैलरी से संबंधित है, और उपयोगकर्ताओं के पास कई गैलरी हो सकती हैं। पेपरक्लिप डिफ़ॉल्ट कुछ /:class/:style/:basename.:extension जैसे कुछ करते हैं। हालांकि, एक गैलरी सेटअप के साथ, मुझे कुछ भी चाहिए ::class/:user_name/:gallery_name/:styles/:basename.:extension। इन स्टोरेज स्थानों को गतिशील रूप से बनाने के लिए मुझे अभी तक किसी ऑब्जेक्ट में चरों तक पहुंचने का कोई तरीका नहीं मिला है।किसी ऑब्जेक्ट के मानों का उपयोग करके पेपरक्लिप पथ/यूआरएल

क्या ऐसा करने का कोई तरीका है?

मैंने पथ में # {variable} का उपयोग करने का प्रयास किया है, लेकिन यह काम नहीं करता है। इन फोटो ऑब्जेक्ट्स को @ gallery.photos.build का उपयोग करके बनाया जा रहा है, इसलिए गैलरी_आईडी में पहले से ही एक मान होना चाहिए जो पहुंच योग्य हो।

उत्तर

8

Thoughtbot.com पर tips and updates अनुभाग पर एक नज़र डालें। यह चर्चा करता है कि पथ/यूआरएल में अपने स्वयं के इंटरपोलेटेड चर को कैसे जोड़ना है।

4

@ ज़ेटेटिक का जवाब थोड़ा दिनांकित है (ब्लॉग पोस्ट 2008 से है) कस्टम इंटरपोलेशन बनाने के लिए वर्तमान (2015) तरीका paperclip wiki में वर्णित है। तो प्रश्न में user_name के लिए, शायद इस तरह कुछ:

# interpolate in paperclip 
Paperclip.interpolates :user_name do |attachment, style| 
    attachment.instance.gallery.user.name 
end 
+0

नया दस्तावेज़ लिंक पोस्ट करने के लिए धन्यवाद! – jaredsmith

संबंधित मुद्दे