Rendu 404 dans sinatra si fichier non trouvé
J'ai une base sinatra application qui rend les fichiers d'un répertoire. Ce que j'aimerais c'est retourne 404 si la page n'existe pas. Actuellement, il soulever d'erreur 500.
get '/:page' do
erb :"pages/#{params[:page]}", layout: :"layouts/application"
end
source d'informationauteur olimart
Vous devez vous connecter pour publier un commentaire.
Essayer 😉
Vous faire une page 404 avec le nom que vous voulez (le mien est
oops.erb
par exemple), et cela devrait fonctionner très bien.not_found
est Sinatra de gestion des erreurs d'aide pour l'accaparement des erreur 500 et 404 non-fonde qu'il renvoie. Vous pouvez ensuite modifier le code d'état HTTP et une vue correspondante de l'utiliser. Découvrez la documentation pour tous Sinatra gestionnaire d'erreur est: ils sont super utiles!Vous pourriez faire quelque chose comme:
Je n'ai pas testé, donc il pourrait y avoir quelques problèmes avec le code ci-dessus, mais c'est l'idée générale dans ma tête.