Rails Caches_Page неуместен из-за пространства имен - PullRequest
2 голосов
/ 22 декабря 2009

У меня есть контроллер в пространстве имен и я хочу кешировать его индекс. Я успешно кэширую страницы, которые не находятся под пространством имен, и также успешно кэширую фрагменты.

Когда я захожу на http //.../ house / kitchen, он успешно создает /public/house/kitchen.html. Однако он никогда не находит его, поэтому всегда записывает поверх кэшированного файла.

Мне не удалось найти параметр с cache_page или caches_page, чтобы помочь мне направить кэшированный файл в правильное местоположение.

Еще одна неприятная вещь заключается в том, что http //.../ house / kitchen / table успешно читает и создает /public/houose/kitchen/table/new.html.

Буду очень признателен за любое направление!

Редактировать: добавление деталей
Рубин: 1.8.7
Рельсы: 2.3.5
Сервер: Mongrel

Редактировать: Я поместил kitchen.html во все возможные места в моей общей папке, этот контроллер, похоже, просто отказывается читать его.

Ответы [ 3 ]

0 голосов
/ 22 декабря 2009

Я не уверен, имеет ли это отношение, но я обнаружил, что некоторое время назад проблема с веб-сервером goldspike.
Так что, возможно, на вашем веб-сервере тоже что-то не хватает (кстати, какой веб-сервер вы используете)?

0 голосов
/ 12 апреля 2010

Я думаю, у меня та же проблема. Если да, то я знаю причину, но пока не нашел решения.

Веб-сервер находит каталог http://…/house/kitchen/ до того, как находит файл http://…/house/kitchen.html. Этот каталог не содержит index.html, поэтому он передает маршрут в Rails, который любезно генерирует новый файл.

Итак, вы могли бы:

  1. Поместите кэшированный файл в http://…/house/kitchen/index.html

  2. Скажите вашему веб-серверу искать *.html файлов, прежде чем он будет искать */ каталогов.

0 голосов
/ 22 декабря 2009

Я предлагаю не использовать пространства имен, все, что вы хотите сделать в отношении URL-адресов, можно сделать с помощью маршрутизации. Есть ли причина, по которой вы должны использовать контроллеры пространства имен?

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