| 2008-09-08 07:59:20 | Ответить |
|---|---|
|
SellingFeis Адрес: Сообщений: 3 Регистр: 2008-08-22 его блог 0 сообщ. |
Не удается кэшировать страницы |
|
Поручили мне поддерживать один проект на руби. Начал изучать руби.
На локальном компьютере под виндой стоит InstantRails-2.0 на нем и тестирую. Первая задача которая возникла, надо кешировать страницы. Страницы собираются динамически. Адрес имеют такой вид localhost/1/pages/show/145 где 1 - идентификатор раздела на сайте (в базе данных описан) pages - это контроллер show - метод 145 - идентификатор страницы (в базе данных описан) что сделал: в app/controllers/pages_controller.rb добавил строчку caches_page :pages, :show было так: стало так В папке public создана еще одна папка public Как я понял при кешировании в корне сайта или в папке public должна была бы создаться директории /1/pages/show/ и в ней файл 145.html Но почемуто не создаются эти директории и файл, причем ошибки при исполении не возникают. Монгрел перезапускал... Видимо я не так понимаю кеширование? Подскажите как кешировать динамические страницы полностью, дело в том что сервер иногда невозможно долго отдает страницы, от 1 до 2 минут. Естественно ни один посетитель не может так долго ждать инструкцию по кэшированию пытался выполнять по описаной здесь ibm.com/developerworks/ru/library/wa-rails1/index.html |
|
| cache, caches, кэш |
| 2008-09-08 10:35:17 | Ответить |
|---|---|
|
SellingFeis Адрес: Сообщений: 3 Регистр: 2008-08-22 его блог 0 сообщ. |
RE: Не удается кэшировать страницы |
|
Вот нашел более хороший туториал, но пока все равно не работает
http://www.railsenvy.com/2007/2/28/rails-caching-tutorial |
|
| 2008-09-08 11:22:52 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 1293 Регистр: 2007-03-13 его блог 40 сообщ. |
RE: Не удается кэшировать страницы |
|
В конфиге надо указать какой тип кеширования ты будешь использовать
------------
кеширование работает только в продакшине в девелопменте нет если насильно не включить еслиты хочь кешировать в файловой системе config/environment.rb: ActionController::Base.fragment_cache_store = :file_store, "/path/to/cache/directory" Занимаюсь вебом и продвижением сайтов.
|
|
| fragment_cache_store |
| 2008-09-08 11:24:32 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 1293 Регистр: 2007-03-13 его блог 40 сообщ. |
RE: RE: Не удается кэшировать страницы |
|
еще раз спасибо за заполненный профайл
------------
Занимаюсь вебом и продвижением сайтов.
|
|
| 2008-09-08 11:30:17 | Ответить |
|---|---|
|
SellingFeis Адрес: Сообщений: 3 Регистр: 2008-08-22 его блог 0 сообщ. |
RE: Не удается кэшировать страницы |
|
Вообщем все заработало!
есть адрес типа http://localhost/1/pages/show/351 В /config/environments/development.rb надо поставить труе В контроле page_controless надо написать caches_page :show Ну и рестартовать монгрел наверное надо для верности. тогда при посещении страниц первый раз, в корне сайта создастся директории /1/pages/show/ и в них будут записываться файлы 351.html при повторном посещении адреса http://localhost/1/pages/show/351 страница будет формироваться не руби а будет браться из этих сгенеренных директорий. Надеюсь теперь у меня сайт зашуршит побыстрей... Руслан, спасибо за ActionController::Base.fragment_cache_store = :file_store, "/path/to/cache/directory" тоже пригодится |
|