मैं उत्पादन रेल अनुप्रयोग से "सभी को पकड़ें" या "डिफ़ॉल्ट" मार्ग को हटाने का प्रयास कर रहा हूं। मुझे इसके उपयोग के लॉग को इकट्ठा करते समय संचालन को बनाए रखने में दिलचस्पी है ताकि मैं इसे उचित हार्ड कोड वाले मार्गों से बदल सकूं।रेलों में डिफ़ॉल्ट मार्ग का उपयोग
तो, मेरे पास मेरे config/routes.rb
फ़ाइल में निम्न डिफ़ॉल्ट रूट लाइन है।
match '/:controller(/:action(/:id))'
मैं हर बार जब रूट मारा जाता है तो मैं लॉग कैसे बना सकता हूं या पुनर्प्राप्त कर सकता हूं। इस लॉग में आदर्श रूप से पैरामीटर के साथ इस मार्ग द्वारा वास्तव में केवल अनुरोधों को शामिल किया जाएगा और मार्ग को सामान्य रूप से सामान्य रूप से काम करने की आवश्यकता होगी।
match ':controller(/:action(/:id))(.:format)', :using_default_route => true
फिर app/controllers/application_controller.rb
before_filter do
if params[:using_default_route]
logger.info("Default route for #{request.path.inspect}. params = #{params.inspect}")
end
end
आप शानदार अच्छे महोदय हैं। –
महान उत्तर, उस सुविधा को नहीं पता था, धन्यवाद और +1 – apneadiving
बस एक अपडेट। हालांकि यह आने वाले मार्गों को लॉग इन करने के लिए काम करता है, यह डिफ़ॉल्ट मार्ग के लिए रूट पीढ़ी का मिलान नहीं करता है (जैसा कि use_default_route पास नहीं किया गया है)। मैंने इसे पहले के बाद दूसरा मैच जोड़कर तय किया है जो पीढ़ी को अनुमति देगा, और अगर इसका उपयोग किया जाता है तो इसका अस्तित्व उठाया जाएगा। हालांकि, मेरा डर इन दोनों लाइनों को हटा रहा है अंततः उन विचारों को विफल कर देगा। यह बहुत अच्छा होगा अगर लॉग पीढ़ी का कोई तरीका था जो डिफ़ॉल्ट मार्ग का भी उपयोग करता है। –