3 votes

Rails 3 ne trouve pas de route vers une page statique

Je travaille sur le tutoriel Ruby on Rails : Apprendre Rails par l'exemple. Je suis dans la section intitulée Mostly Static Pages.

J'obtiens une erreur après avoir créé une page HTML dans le répertoire public qui s'appelle public/hello.html et qui devrait apparaître comme dans la Figure 3.3. Mon problème est que lorsque j'essaie de créer la page et de la faire apparaître à l'adresse localhost:3000/hello.html, je ne vois pas la page rendue. Au lieu de cela, j'obtiens une erreur qui dit "Routing error No route matches "/ hello.html"".

Je n'ai apporté aucune modification au routage ; je pensais que Rails était censé être assez intelligent pour trouver "hello.html" parce qu'il se trouve dans le même répertoire que la page "public/index.html" et que le nom de la page est "hello.html" ?

Pouvez-vous expliquer ?

4voto

Kevin Novak Points 41

Si vous êtes comme moi et que vous êtes en train de lire le livre, j'ai laissé le serveur en marche depuis le chapitre précédent, donc il chargeait toujours index.html depuis le répertoire demo_app.

1voto

pirate Points 11

Vous suivez un vieux guide. Une version plus récente

http://ruby.railstutorial.org/chapters/static-pages#sec:green

vous dit que vous devez modifier le fichier routes.rb dans le dossier config. J'ai passé environ une heure à pleurer à ce sujet.

0voto

Ryan Bigg Points 64561

Tu es sûr d'avoir tapé ça correctement ? Il semble que vous ayez tapé "localhost:3000/[space]hello.html" plutôt que "localhost:3000/hello.html". Veuillez vérifier à nouveau.

0voto

Paul Points 1

Déplacez le fichier dans le dossier Public. Cela a fait l'affaire pour moi.

L'astuce que j'ai utilisée est que Rails sert le dossier Public par défaut. Je me suis donc dit que si je le mettais dans le dossier Public, cela devrait fonctionner. Vous verrez qu'il est en ligne avec le fichier d'index, donc je pense que c'est aussi une preuve.

0voto

AguNnamdi Points 1

Vérifiez à nouveau votre répertoire d'applications et assurez-vous que vous enregistrez le fichier dans (mon cas) :

C:\Users\Nnamdi\rails_projects\sample_app\public\hello.html

J'ai eu le même problème mais j'ai réalisé que je ne l'avais pas enregistré dans le bon répertoire. La solution ci-dessus devrait fonctionner Merci.

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