Ruby on Rails 5.2 - ActionDispatch::PublicExceptions

वर्ग ActionDispatch :: PublicException




ruby

वर्ग ActionDispatch :: PublicException

जनक:
Object

जब कहा जाता है, तो यह मिडलवेयर एक त्रुटि पृष्ठ प्रदान करता है। डिफ़ॉल्ट रूप से अगर एक HTML प्रतिक्रिया की उम्मीद है तो यह /public निर्देशिका से स्थिर त्रुटि पृष्ठों को प्रस्तुत करेगा। उदाहरण के लिए जब यह मिडलवेयर 500 प्रतिसाद प्राप्त करता है तो यह /public/500.html में पाए गए टेम्पलेट को रेंडर करेगा। यदि कोई अंतर्राष्ट्रीयकृत लोकेल सेट है, तो यह मिडलवेयर /public/500.<locale>.html में टेम्पलेट रेंडर करने का प्रयास करेगा। यदि कोई अंतर्राष्ट्रीयकृत टेम्पलेट नहीं मिला है तो यह /public/500.html पर वापस आ जाएगा।

जब HTML के अलावा अन्य सामग्री प्रकार के साथ अनुरोध किया जाता है, तो यह मिडलवेयर त्रुटि सूचना को उचित प्रतिक्रिया प्रकार में बदलने का प्रयास करेगा।

गुण

public_path [RW]

पब्लिक क्लास के तरीके

नया (public_path) स्रोत दिखाएं
# File actionpack/lib/action_dispatch/middleware/public_exceptions.rb, line 17
def initialize(public_path)
  @public_path = public_path
end

सार्वजनिक प्रवृत्ति के तरीके

# File actionpack/lib/action_dispatch/middleware/public_exceptions.rb, line 21
def call(env)
  request      = ActionDispatch::Request.new(env)
  status       = request.path_info[1..-1].to_i
  content_type = request.formats.first
  body         = { status: status, error: Rack::Utils::HTTP_STATUS_CODES.fetch(status, Rack::Utils::HTTP_STATUS_CODES[500]) }

  render(status, content_type, body)
end