रेलवे में RoutingError
से बचाव कैसे करें 3.1 आवेदन। अगर मुझे गलत नहीं लगता है तो आवेदन नियंत्रक में rescue_from RoutingError
का उपयोग करना संभव था लेकिन अब यह संभव नहीं है।रूटिंग त्रुटि रेल से बचाव 3.1
7
A
उत्तर
7
इसे संभालने का कोई शानदार तरीका नहीं है, लेकिन कुछ कामकाज हैं। चर्चा here पैदावार निम्नलिखित सुझाव:
मार्गों
अपने मार्गों फ़ाइल में निम्न जोड़ें:
match "*", :to => "home#routing_error"
और इस कार्रवाई में त्रुटि संभाल:
def routing_error
render text: "Not found, sorry", status: :not_found
end
7
मैं @ matthew-savage's r को दोहराने में सक्षम नहीं था esults।
routes.rb
match "*gibberish", :to => "home#routing_error"
नोटिस मैं वाइल्डकार्ड के बाद पाठ कैसे शामिल हैं: हालांकि, प्रति रेल एक और StackOverflow सवाल पर route globbing और this question पर मार्गदर्शन, मैं इतना है कि यह समस्या हल हो जाती।
नियंत्रक/home_controller.rb
....
def routing_error
render text: "Not found, sorry", status: :not_found
end
0
अच्छा example: जैसा कि ऊपर दिखाया नियंत्रक ठीक है।
route.rb
रेल 3:
match '*unmatched_route', :to => 'application#raise_not_found!'
रेल 4:
get '*unmatched_route' => 'application#raise_not_found!'
application_controller.rb
def raise_not_found!
raise ActionController::RoutingError.new("No route matches #{params[:unmatched_route]}")
end
अधिक तकनीकी रूप से सही जवाब 'होगा पाठ प्रस्तुत करना:" नहीं मिला, खेद ", स्थिति:: not_found, content_type: माइम :: HTML' सही ढंग से की तरह प्रतिक्रियाओं को संभालने के लिए'/icon.png' – kizzx2
वास्तव में, @aboutaaron के समाधान ने मेरे लिए काम किया। मार्ग-पैटर्न में बस एक "*" काम नहीं किया। कुछ बकवास जोड़ने की जरूरत है :) –