Rails par défaut rendra 404.html, alors il pense qu'une erreur 404 est appropriée. Cependant, je veux le faire par page personnalisée. S'il vous plaît suggérer la bonne façon de le faire.Action personnalisée 404 dans Rails
Répondre
Vous pouvez utiliser render_404 monkey patching.
Ou, vous pouvez définir une route par défaut au bas de votre fichier itinéraires qui va à une action qui renvoie un code d'état 404.
Idéalement, si vous ne voulez pas de code personnalisé dans votre 404, vous pouvez simplement modifier le 404.html statique, ce qui est le plus simple.
Selon ce que vous avez besoin, notre petit bijou pourrait aider: http://github.com/hedgeyedev/snow
Cette réponse est étonnamment difficile à trouver.
Si vous voulez une page statique, éditez 404.html
. Terminé.
Si vous voulez une page dynamique, puis:
dans config/routes.rb:
match '*not_found', to: 'errors#error_404' unless Rails.application.config.consider_all_requests_local
Commentez la clause unless
pour tester la page 404 sur la machine de dev locale.
Générer un tas de fichiers:
rails generate controller errors error_404
Modifier views/errors/error_404.html.erb
à personnaliser.
Cela fonctionne pour Rails 3.1 et 3.2.2.
La liaison est rompue. –