हमने इस त्रुटि को पकड़ने और बोर्कड फ्लैश को हटाने के लिए स्वयं को पैच करके इसे हल करके समाप्त कर दिया। इसका मतलब यह है कि यह काफी पारदर्शी रूप से आत्म-उपचार करता है।
हम भी केवल ऑन रेल्स 3 इस पैच लागू करने के लिए सुनिश्चित किया, इसलिए जब हम उन्नयन पर एक और प्रयास रेल के लिए 4.
हम config/initializers/rails4_to_rails3_downgradability.rb
में यह अटक कर यह मुद्दों का कारण नहीं है:
if Rails::VERSION::MAJOR == 3
module ActionDispatch
class Flash
def call(env)
if (session = env['rack.session']) && (flash = session['flash'])
# Beginning of change!
if flash.respond_to?(:sweep)
flash.sweep
else
session.delete("flash")
end
# End of change!
end
@app.call(env)
ensure
session = env['rack.session'] || {}
flash_hash = env[KEY]
if flash_hash
if !flash_hash.empty? || session.key?('flash')
session["flash"] = flash_hash
new_hash = flash_hash.dup
else
new_hash = flash_hash
end
env[KEY] = new_hash
end
if session.key?('flash') && session['flash'].empty?
session.delete('flash')
end
end
end
end
end
स्रोत
2015-06-18 13:14:39
निश्चित रूप से एक अच्छा बिंदु। योगदान के लिए धन्यवाद! –