2011-09-21 10 views
23

रेल में, हमारे कार्यों को निर्देशित करने के लिए बहुत सारे सहायक हैं, जैसे collections_pathnew_member_pathedit_member_path और इसी तरह।root_path या root_url कहां है?

लेकिन रूट कहां है? क्या कोई सहायक हमेशा मेरे मुखपृष्ठ पर इंगित करता है?

+0

जब आप कमांड प्रॉम्प्ट पर 'रेक रूट' करते हैं तो यह सूचीबद्ध किया जाएगा। – Zabba

उत्तर

44

इन सहायकों मौजूद हैं, लेकिन आप config/routes.rb में से पहले अपने रूट यूआरएल सेट करने के लिए, है:

root :to => "controller#action" 

आप बाद में root_url और root_path उपयोग कर सकते हैं।

चेतावनी दी हो वहाँ एक पकड़ने है कि जब _path सहायकों के साथ क्या कर पुनर्निर्देशन, आप _url वाले जब पुनः निर्देशित का उपयोग करना चाहिए (@ जानकारी के लिए LanguagesNamedAfterCoffee की टिप्पणी देखें)।

+9

बस याद रखें कि जब भी आप 'redirect_to' का उपयोग कर रहे हैं तो आपको 'root_url' का उपयोग करना होगा। – LanguagesNamedAfterCofee

+1

स्पष्टीकरण के लिए धन्यवाद, मुझे यह नहीं पता था। जिज्ञासा से बाहर: यह क्या टूटता है? यह बस कुछ और काम नहीं करता है (बैक बटन, आदि)? –

+10

HTTP spec को 302 रीडायरेक्ट और दोस्तों को करने पर पूरी तरह से योग्य URL की आवश्यकता होती है, और यह कुछ उदार ब्राउज़र में काम करेगा, लेकिन _path का उपयोग नहीं किया जाना चाहिए। (रेल के साथ Agile वेब विकास से) – LanguagesNamedAfterCofee

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