के दौरान रेल 3 में सेट नहीं किया जा रहा है। मैं रेल 3 में प्रतिडोमेन सेट करने की कोशिश कर रहा हूं Ryan Bates screencast on subdomains। हालांकि यह मेरे लिए काम नहीं कर रहा है।request.subdomain सशर्त रूटिंग
# routes.rb
constraints(Subdomain) do
get 'devices' => 'devices#all'
end
# lib/subdomain.rb
class Subdomain
def self.matches?(request)
# binding.pry
request.subdomain.present? && request.subdomain == "admin"
end
end
यूआरएल admin.localhost:3000/devices
मार्ग मुझे devices#all
, हालांकि मैं एक मार्ग त्रुटि Routing Error No route matches [GET] "/devices"
जाहिर है मेरे मार्ग काम नहीं कर रहा मिलना चाहिए लोड हो रहा है: मैं निम्नलिखित सेटअप है।
मैं सेटअप एक pry
डिबग सत्र जहां टिप्पणी ऊपर है, और यह हिट हो जाता है, तो मेरे बाधा काम कर रहा है, लेकिन मैं निम्नलिखित उत्पादन प्राप्त करें:
[1] pry(Subdomain)> request.subdomain
=> ""
[2] pry(Subdomain)> request.subdomains
=> []
[3] pry(Subdomain)> request.host
=> "admin.localhost"
तो रेल व्यवस्थापक उठा नहीं है यूआरएल का हिस्सा और इसे सबडोमेन वैरिएबल में रखकर। जबकि मैं आसानी से व्यवस्थापक मार्गों को फ़िल्टर करने के लिए मेजबान मान का उपयोग कर सकता हूं, मैं चीजों को साफ और सही रखना चाहता हूं।
रेल कैसे सबडोमेन मूल्य सेट नहीं कर रहे हैं?
संपादित
दोनों jdoe और coreyward उनके जवाब के साथ सही हैं। मुझे क्या फेंक रहा था यह था कि मैं साइट तक पहुंचने और एक ही त्रुटि प्राप्त करने के लिए pow
और xip.io
का भी उपयोग कर रहा था। जो अजीब था क्योंकि http://admin.app_name.192.168.1.68.xip.io/devices
में एक tld है 1. 1. क्या हो रहा था कि xip
के लिए सबडोमेन admin.app_name.192.168.1.68
था, जो मैचों के तर्क को भी विफल करता है और मार्ग नहीं देता है।
> रेल कैसे सबडोमेन मूल्य सेट नहीं कर रहे हैं? मुझे लगता है कि यह अभी भी उस बिंदु पर रैक है। –
@ ऑस्करडेलबेन यह नहीं है।यह एक्शनडिस्चैच 'request.inspect # =>
+1 पॉव और Xip.io पर अतिरिक्त स्पष्टीकरण के लिए +1 है। :) – coreyward