2011-08-16 21 views
8

वहाँ जहाँ मैं विश्व स्तर पर (एक उदाहरण के रूप co.uk) 2 के लिए टीएलडी लंबाई निर्धारित कर सकते हैं रेल के विन्यास में कुछ जहाँ इतने request.domain और request.subdomain विकल्पों पारित करने के लिए बिना सही ढंग से पार्स है?रेल 3.x टीएलडी लंबाई

यही है, request.domain (2), डिफ़ॉल्ट रूप से रेल डिफ़ॉल्ट रूप से 1 पर सेट होने लगते हैं और यह वैश्विक स्तर पर इसे बदलने में सक्षम होने के लिए समझ में आता है, हालांकि, दस्तावेज़ीकरण में कुछ भी नहीं मिला है ।

तरह के एक विन्यास विकल्प मौजूद है?

उत्तर

2

रेल 3.0.9 और नीचे के लिए, ऐसी कोई विन्यास है, क्योंकि domain का स्रोत है:

# File actionpack/lib/action_dispatch/http/url.rb, line 78 
def domain(tld_length = 1) 
    return nil unless named_host?(host) 

    host.split('.').last(1 + tld_length).join('.') 
end 

स्रोत: http://apidock.com/rails/v3.0.9/ActionDispatch/Http/URL/domain

+0

की पुष्टि –

8

रेल 3.1 में आप सेट कर सकते हैं:

ActionDispatch::Http::URL.tld_length = 2 
+0

धन्यवाद कि जब मैं उत्पादन के लिए 3.1 पर ले जाने के लिए पता करने के लिए वास्तव में अच्छा है के लिए धन्यवाद चूक। –

+2

मैं देख रहा हूँ एक config.action_dispatch.tld_length जो ActionDispatch सेट है :: Http :: URL.tld_length मैं 3.1 पर गौर करेंगे, तो सहायकों इसका इस्तेमाल को देखने के लिए। –

10

:

अपने config/वातावरण/production.rb फ़ाइल में इस लाइन को जोड़ने

config.action_dispatch.tld_length = 2 

config.action_dispatch.tld_length टीएलडी आवेदन के लिए (शीर्ष स्तर के डोमेन) लंबाई निर्धारित करता है। करने के लिए 1.

http://guides.rubyonrails.org/configuring.html