Rails 3 не может найти маршрут к статической странице

Я работаю над Ruby on Rails Tutorial: Learn Rails by Example. Я нахожусь в разделе, озаглавленном «В основном статические страницы».

Я получаю сообщение об ошибке после создания HTML-страницы в общедоступном каталоге, которая называется public/hello.html и должна выглядеть так, как показано на рис. 3.3. Моя проблема в том, что когда я пытаюсь создать страницу и сделать так, чтобы она отображалась по адресу localhost:3000/hello.html, я не вижу обработанную страницу. Вместо этого я получаю сообщение об ошибке «Ошибка маршрутизации. Маршрут не соответствует» / hello.html.

Я не вносил никаких изменений в маршрутизацию; Я думал, что Rails должен быть достаточно умен, чтобы найти «hello.html», потому что он находится в том же каталоге, что и страница «public/index.html», а имя страницы — «hello.html»?

Не могли бы вы объяснить?


person Jeff Y.    schedule 24.10.2010    source источник


Ответы (5)


Если вы, как и я, читаете книгу, я оставил сервер работающим из предыдущей главы, поэтому он по-прежнему загружал index.html из каталога demo_app.

person Kevin Novak    schedule 29.10.2010

Вы следуете старому руководству. Более новая версия

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

говорит вам, что вам нужно изменить route.rb в папке конфигурации. Я проплакал об этом около часа.

person pirate    schedule 31.03.2011

Вы уверены, что написали это правильно? Похоже, вы набрали «localhost:3000/[space]hello.html», а не «localhost:3000/hello.html». Пожалуйста, проверьте дважды.

person Ryan Bigg    schedule 24.10.2010

Переместите файл в общую папку. Это помогло мне.

Подсказка, которую я использовал, заключается в том, что Rails по умолчанию обслуживает папку Public. Поэтому я подумал, что если я положу его в общую папку, это должно сработать. Вы увидите, что он соответствует индексному файлу, так что я думаю, что это тоже доказательство.

person Paul    schedule 20.04.2011

Еще раз просмотрите каталог вашего приложения и убедитесь, что вы сохранили файл в (мой случай):

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

У меня была такая же проблема, но я понял, что не сохранил ее в нужном каталоге. Приведенное выше решение должно работать. Ура

person AguNnamdi    schedule 26.01.2013