45 votes

Comment envoyez-vous une réponse 404 à partir d'une action de contrôleur de rails?

Quel est le moyen préféré d'émettre une réponse 404 à partir d'une action de contrôleur de rails?

38voto

Jason Punyon Points 21244

Cela semble bon ...

 # Rails 2 and below
render :file => "#{RAILS_ROOT}/public/404.html",  :status => 404

# Rails 3 and up
render :file => "#{Rails.root}/public/404.html",  :status => 404
 

35voto

mirza Points 549

Vous pouvez aussi

raise ActiveRecord::RecordNotFound

exception.

29voto

La manière suivante était la meilleure pour moi:

 raise ActionController::RoutingError.new('Not Found')
 

Ou il existe d'autres solutions: Comment rediriger vers un 404 dans Rails?

6voto

tvanfosson Points 268301

Référence :

 render :file => '/path/to/some/filenotfound.rhtml', 
                status => 404, :layout => true
 

6voto

huacnlee Points 335

Dans ApplicationController, définissez une méthode telle que:

 def render_404
  render :file => "#{RAILS_ROOT}/public/404.html",  :status => 404
end
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X