2009-07-08 5 views
11

मेरे पास एक एआरबी टेम्पलेट में एक स्थानीय चर है:मेरे एआरबी टेम्पलेट्स + एचटीएमएल शैलियों के लिए लेआउट द्वारा उपयोग किए जाने वाले चर परिभाषित करने के लिए उचित जगह?

<% thumbnail_width = 50 %> 

मैं कुछ थंबनेल छवियों का आकार बदलने के लिए इसका उपयोग कर रहा हूं।

लेकिन अब मुझे एहसास है कि इस टेम्पलेट तक पहुंचने के लिए कई टेम्पलेट्स की आवश्यकता होगी।

मुझे इसे कहां स्थानांतरित करना चाहिए और यह किस प्रकार का चर होना चाहिए?

उत्तर

12

इस चर के आधार पर रेल के पर्यावरण के साथ कैसे इंटरैक्ट करते हैं, इस पर कई समाधान हैं।

विन्यास

आप एक वैश्विक विन्यास फाइल का उपयोग (उदाहरण के SimpleConfig plugin के लिए देखें) कर सकते हैं। पर्यावरण के आधार पर चर बदल सकता है जब यह पसंदीदा विकल्प है।

स्थिरांक

आप एक निरंतर परिभाषित कर सकते हैं, तो चर कई अलग अलग स्थानों और संदर्भों में उपलब्ध होना चाहिए। उदाहरण के लिए, हो सकता है कि आप फ़ाइल

config/initializers/defaults.rb 

और अपनी सभी डिफ़ॉल्ट कॉन्फ़िगरेशन और स्थिरांक लिखना चाहें। यहां एक स्थिर परिभाषित स्वचालित रूप से आपके रेल एप्लिकेशन पर उपलब्ध होगा।

सहायकों

अपने चर आवेदन की एक विशेष खंड के लिए एक दृश्य टाई रहता है तो उदाहरण के लिए, आप रेल सहायकों का लाभ लेने के कर सकते हैं। अपने विशिष्ट मामले में, आप अपने application_helper.rb में एक छवि सहायक बना सकते हैं

module ApplicationHelper 

    THUMBNAIL_WIDTH = 50 

    def thumbnail_tag(source, options = {}) 
    image_tag(source, options.reverse_merge(:width => THUMBNAIL_WIDTH)) 
    end 

end 

तब सहायक का उपयोग करके ऐसी हर फाइल में पर एक ही तर्क को कॉपी करने की बजाय थंबनेल बनाने की जरूरत है।

+1

मैं "हेल्पर्स" उत्तर दूसरा हूं। –

+0

हां, इस मामले में यह निश्चित रूप से सबसे अच्छा समाधान है। –