2013-04-25 6 views
6

कुछ रेल ऐप्लिकेशन में पर [विकल्प] माणिक में, मैं routes.rb: = के माध्यम से>: रेल मार्गों

root :to => "home#index", :via => [:get] 
root :to => "accounts#manage", :via => [:options] 

मैं नहीं समझ सकता है कि कैसे इन दो जड़ URL मौजूद कर सकते हैं में देखा। Googling ने स्पष्ट करने में मदद नहीं की: विकल्प तर्क या तो। क्या कोई मदद कर सकता है?

धन्यवाद

उत्तर

6

HTTP spec के अनुसार समझा पाया (और थोड़ा अधिक here समझाया गया है), वहाँ एक विकल्प क्रिया है।

विकल्प का उपयोग करने के लिए प्रोत्साहन वेब सेवा API के लिए दस्तावेज़ का अनुरोध करना है; परिणाम एपीआई का उपयोग कैसे किया जा सकता है इसके बारे में जानकारी प्रदान करने के लिए हैं।

ActionDispatch::Routing::HTTP_METHODS 
=> [:get, :head, :post, :put, :delete, :options] 

अपने प्रश्न पर वापस जाने के लिए, एक सामान्य ब्राउज़र में अनुरोध प्राप्त करें, पहला मार्ग उपयोग किया जाएगा। जब एक विकल्प अनुरोध किया जाता है, तो दूसरा मार्ग उपयोग किया जाएगा।

+0

से बहुत बहुत धन्यवाद। इससे मदद मिली! – rookieRailer

+0

उदाहरण जो किसी भी http क्रिया से मेल खाता है: 'match' photos ', to:' photos # show ', के माध्यम से:: all', http://guides.rubyonrails.org/routing.html#http-verb-constraints से –

1

आप उपयोग कर सकते हैं: एक या अधिक HTTP विधियों

करने के लिए अनुरोध करने के लिए विवश विकल्प के माध्यम से देखें the rails guide on routing

:post, :get, :put, :delete, :options, :head, और :any इस विकल्प के मूल्य के रूप में अनुमति दी जाती है।

रूप a blog post में बताया गया है, विकल्प CORS requests (एक क्रॉस डोमेन AJAX अनुरोध करने के लिए जिस तरह से) का समर्थन करने के सिर्फ एक और HTTP क्रिया है। जो मार्गों समर्थन कर सकते हैं -

अद्यतन एक ब्लॉग पोस्ट :options

+0

धन्यवाद PinnyM। मेरा उत्तर – tessi

+1

अपडेट किया गया वास्तव में जादू कीवर्ड ': any' नहीं है, इसका ': all'। 'फोटो' फोटो 'से:' फोटो # शो ', के माध्यम से:: all', http://guides.rubyonrails.org/routing.html#http-verb-constraints –

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