Nella mia applicazione Ruby on Rails voglio mostrare la pagina di errore 404 invece di errore di routing quando il percorso specificato non corrisponde o esiste nella mia applicazione. Qualcuno può aiutarmi a renderlo possibile?Come posso visualizzare la pagina di errore 404 anziché l'errore di routing?
6
A
risposta
11
Questo è già il comportamento predefinito nella produzione. Negli errori di routing dell'ambiente di sviluppo vengono visualizzati per consentire allo sviluppatore di notarli e correggerli.
Se si desidera provare, avviare il server in modalità di produzione e controllarlo.
$ script/rails s -e production
0
È possibile rilevare un'eccezione generata quando non è stato trovato un percorso e quindi eseguire il rendering di una pagina personalizzata. Fammi sapere se hai bisogno di aiuto con il codice. Ci potrebbero essere molti altri modi per farlo, ma questo funziona sicuramente.
6
in ApplicationController
rescue_from ActiveRecord::RecordNotFound, :with => :rescue404
rescue_from ActionController::RoutingError, :with => :rescue404
def rescue404
#your custom method for errors, you can render anything you want there
end
4
Se non è possibile eseguire facilmente la modalità di produzione a livello locale, impostare il consider_all_requests_local
su false nel file config/environments/development.rb
.