2012-04-17 8 views
7

के साथ सबडोमेन का परीक्षण कैसे करें मैं एक ऐसे अनुप्रयोग को विकसित कर रहा हूं जिसमें सबडोमेन पर भरोसा है। इसमें एप्लिकेशन (एक मॉड्यूल) में एम्बेडेड एक एप्लीकेशन है जो एप्लिकेशन को प्रशासित करने के लिए बैकएंड होगा। चलो इसे कोंग नाम दें।रेल: आरएसपीसी

मैं अपने मार्गों फ़ाइल में इस कोड है:

get :index 
:

constraints :subdomain => "kong" do 
    scope :module => "kong", :as => "kong" do 
    resources :clients 
    end 
end 

इतनी है कि जब मैं निम्नलिखित यह उप डोमेन से हासिल करेगा और की तरह कुछ लिखने मैं इस मार्ग का परीक्षण कर सकते केवल उप डोमेन से

उत्तर

5

परीक्षण इकाई में मैं request.host स्थापित करने के लिए कुछ इस तरह इस्तेमाल किया एक उप डोमेन से आने के लिए:

def get_sub(sub = "one") 
    @request.host = "#{sub}.local.me" 
end 

मैं व्यक्तिगत रूप से इसे spec_helper.rb फ़ाइल और संदर्भ में संदर्भित करता हूं जब आपको आवश्यकता होती है।

आप के लिए, उन परीक्षणों में, आप sub शायद की तरह

before :each do 
    get_sub("kong") 
end 

इस जोकर भी एक जवाब है "kong" बराबर करने के लिए है, जो मैंने पाया के बाद through google

+7

क्यों आप इस विधि को कॉल किया था स्थापित कर रहे हैं 'get_sub' जब यह स्पष्ट रूप से मूल्य निर्धारित कर रहा है? इसके अलावा, इसे छोटा क्यों करें? इस विधि के लिए 'set_subdomain' या 'stub_subdomain' उत्कृष्ट नाम होंगे। –

+2

मुझे लगता है कि सही हिंडसाइट दुनिया में, मैं इसे 'set_subdomain' कहलाता था लेकिन पैडेंटिक तरफ, जवाब अभी भी काम करता है। ओपी विधि को जो कुछ भी चुनता है उसे बदल सकता है। – pjammer

+5

नोट यह राउटिंग चश्मे में काम नहीं करेगा, क्योंकि '@ request' शून्य – lulalala