2011-09-01 14 views
5

पर रेल मार्ग डीबी में दो रिकॉर्ड के साथ मेरे पास एक पृष्ठ नियंत्रक है; 'पेज' और 'संपर्क'। प्रत्येक पृष्ठ रिकॉर्ड के लिए आईडी शीर्षक है। मैं प्रत्येक पृष्ठ के लिए एक विशिष्ट मार्ग कैसे लिखूं?विशिष्ट आईडी

मैं वर्तमान में एक कैच-ऑल मार्ग जो काम करता है ...

match '/:id' => 'pages#show' 

है, लेकिन मैं प्रत्येक पृष्ठ

उत्तर

8

के लिए एक एकल मार्ग बनाने के लिए मैं शायद अपने प्रश्न समझ में नहीं आता क्योंकि मैं चाहता हूँ कोई विचार नहीं कि आप ऐसा क्यों करना चाहते हैं;)

किसी भी तरह, कहें कि आपके पास एक पृष्ठ है जो शीर्षक/आईडी "के बारे में" है। यह आपका मार्ग जैसा दिख सकता है:

match '/about' => 'pages#show', :defaults => { :id => 'about' } 

सीएफ। http://guides.rubyonrails.org/routing.html#defining-defaults

नोट: मैं उस मार्ग को नहीं बुलाऊंगा जिसका आप पहले से ही "कैचॉल" का उपयोग कर रहे हैं; यह एक सुंदर सामान्य रेल मार्ग है। यह वही है मैं एक कैचऑल कहेंगे है:

match ':controller(/:action(/:id))' 
+0

मैं तो मैं पथ सहायकों हो सकता है उन्हें निर्दिष्ट करना चाहते हैं, तो मैं अब मैच '/ के बारे में' => 'पृष्ठों # शो',: चूक => { : id => 'about'},: as =>: लगभग –

+1

गोचा। हो सकता है कि आप पहले से ही इस पर विचार कर रहे हों, लेकिन कोड दोहराए जाने के हित में मैं आपके मूल मार्ग के साथ जाऊंगा, 'as =>: पृष्ठ' जोड़ें और पथ सहायक' पृष्ठ_पथ (: id => 'about') का उपयोग करें। –

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