2012-03-25 5 views
6

में टेम्पलेट में एक वैरिएबल पास करें मेरे पास एक मिडलमैन प्रोजेक्ट है और मुझे लॉग-इन उपयोगकर्ता का अनुकरण करने की आवश्यकता है।मिडलमैन 2

सरल पर्याप्त - कुछ वैश्विक चर सेट करने के लिए ठीक होगा जैसे कि @user = 1 config.rb में, लॉग-इन उपयोगकर्ता के लिए कोड सबकुछ सेट करें, फिर परिवर्तनीय को 0 और कोड लॉग-आउट उपयोगकर्ता डालने के लिए सब कुछ सेट करें यदि हर जगह

मैं रूबी कोडर नहीं हूं इसलिए मुझे समझ में नहीं आता कि इसमें कहां हुक करना है। तो: मैं मध्यस्थ की config.rb में वैश्विक ऐप वैरिएबल कैसे सेट कर सकता हूं?

+0

[बिचौलिया] (http://middlemanapp.com/) एक स्थिर साइट जनरेटर है। लॉग इन करने से आपका क्या मतलब है? –

+0

मैंने लिखा: *** एक लॉग इन उपयोगकर्ता का अनुकरण ***। तब मैंने इसे अगले वाक्य में समझाया। मुझे config.rb में एक चर परिभाषित करने की आवश्यकता है, फिर टेम्पलेट को दिखाना है। – Guard

उत्तर

12

आप page सहायक का उपयोग कर विशिष्ट पथ पर चर सेट कर सकते हैं: आप is_logged_in के आधार पर सामग्री में परिवर्तन को प्रबंधित करने के टेम्पलेट है, जो एक if include स्टेटमेंट का उपयोग करना चाहता है तो

page "/my-page.html", :locals => { :is_logged_in => true } 

, आप एक पृष्ठ का प्रयोग करेंगे प्रॉक्सी:

page "/my-page-logged-in.html", :proxy => "/my-page.html", :locals => { :is_logged_in => true } 
page "/my-page-logged-out.html", :proxy => "/my-page.html", :locals => { :is_logged_in => false } 

प्रत्यक्ष चर के लिए, का उपयोग set:

set :is_logged_in, true 

टेम्पलेट में:

<%= is_logged_in %> 
+0

हाइलाइट्स के लिए धन्यवाद। ये सीधे config.rb पर जाते हैं, है ना? लेकिन वास्तव में मुझे जो चाहिए वह थोड़ा आसान है - मैं चाहता हूं कि यह var सभी टेम्पलेट्स में देखा जाए। दरअसल यह मुख्य रूप से लेआउट के लिए जरूरी है: हेडर और पाद लेख लॉग इन/आउट उपयोगकर्ताओं के लिए अलग हैं, और यदि दोनों में है तो मेरे पास होगा। मैं (और अन्य कोडर) फिर चर को config.rb में बदल देगा और साइट को 2 मोड में देखेंगे। – Guard

+0

उपरोक्त पोस्ट को 'सेट' –

+0

ओह, महान के बारे में जानकारी के साथ संपादित किया गया। धन्यवाद फिर से – Guard

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