Проблема маршрутов Rails с использованием Phusion Passenger / Apache2 - PullRequest
0 голосов
/ 19 февраля 2012

Примечание: приложение использует Rails 3.2.1 и Ruby 1.9.3.

Я пытаюсь настроить приложение rails, используя Passenger и Apache 2. Когда приложение изначально создается, оно загружает приложение по умолчанию.rails page нормально, используя файл index.html по умолчанию в /public.

Проблема возникает, когда я запускаю rails generate controller home index и удаляю файл index.html.Затем в моем файле rout.rb я добавил root :to => "home#index".Затем я получаю сообщение об ошибке «Извините, но что-то пошло не так».

Мой журнал ошибок показывает File does not exist, и когда я добавляю обратно в index.html, он снова нормально загружается.1011 * Итак, похоже, он все еще ищет файл index.html даже после того, как я его удалил.

Я, вероятно, упускаю что-то очень очевидное, поэтому любая помощь очень ценится

1 Ответ

1 голос
/ 20 февраля 2012

Поскольку вы определили свой корень для "home#index", у вас должен быть HomeController с индексным методом и представлением, расположенным в app/views/home/index.html.erb

Обычно метод контроллера «подготавливает» данные для представленияи это означает, что большинство методов контроллера заканчивают вызовом render, предоставляя ему опции для представления.

Этот шаблон настолько обычен, что вам не нужно вызывать render, если вы просто хотите отобразить стандартное представление,И стандартное представление находится в app/views/[controller_name]/[action_ame](.[request_format])(.[precompilation_format)

Если у вас есть старый файл index.html в общей папке, то статический файл обслуживается, и ваш контроллер не запускается.Если у вас нет этого файла, ваш контроллер запускается, и ваш метод индекса сейчас пытается найти файл «index», но в app/views/home/index.

request_format является необязательным и обычно опускается, если вашСайт только HTML.это становится полезным, когда ваше действие может ответить html, json, xml, ...

. precompilation_format обычно представляет собой erb для html request_format, но их гораздо больше (haml, rabl, builder, ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...