Se si richiede un file immagine fasullo, Rails genera un errore interno del server 500 anziché un 404. Vedere il registro seguente.Errore interno del server 500 sul file immagine mancante (Rails 3.2.12)
Ecco la linea di routes.rb che cattura 404s:
# Catches all 404 errors and redirects
match '*url' => 'default#error_404'
Altri URL sconosciuti vengono gestiti correttamente con 404s. Cosa c'è di diverso per i file di immagini e gli URL con estensioni di file?
Started GET "/images/doesnotexistyo.png" for 71.198.44.101 at 2013-03-08 07:59:24 +0300
Processing by DefaultController#error_404 as PNG
Parameters: {"url"=>"images/doesnotexistyo"}
Completed 500 Internal Server Error in 1ms
ActionView::MissingTemplate (Missing template default/error_404, application/error_404 with {:locale=>[:en], :formats=>[:png], :handlers=>[:erb, :builder]}. Searched in:
* "/home/prod/Prod/app/views"
grazie! se non è un formato HTML, possiamo forzarlo a visualizzare la visualizzazione HTML e mostrare la pagina 404 corretta? – Crashalot
Modificata la mia risposta, spero che sia d'aiuto: D – sergelerator
Come possiamo impostare un catch-all? In altre parole, se vogliamo catturare qualsiasi estensione di file (ad es., Jpg, .gif) senza specificarne singolarmente, come ci avvicineremmo? – Crashalot