Кажется, caches_page не работает должным образом в Rails 3? - PullRequest
2 голосов
/ 12 июля 2011

Я использовал caches_page в rails 3, все прошло хорошо, но я не хочу, чтобы эти файлы кэша распространялись в общедоступном каталоге по умолчанию, поэтому я изменил каталог кэша по умолчанию следующим образом:

config.action_controller.page_cache_directory = Rails.public_path + "/caches"

Да, он все еще работает, он записывает файл кэша в каталог public/caches, но, похоже, не читает его обратно при обновлении той же страницы, он снова записывает новый файл кэша каждый раз.

Есть что-то или какая-то конфигурация, которую я должен сделать, чтобы это исправить? или я должен просто использовать каталог кеша по умолчанию?

спасибо всем:)

1012 * Eddie *

Ответы [ 2 ]

1 голос
/ 09 апреля 2013

На самом деле это относится к серверу, на котором запущено приложение.

, например: каталог кэша Webrick по умолчанию "public"

Так что, когда вы устанавливаете page_cache_directory для public, кэшированные страницы будутобслуживаться должным образом.

Проблема связана с сервером, а не с приложением.

Цитируется из http://guides.rubyonrails.org/caching_with_rails.html:

"По умолчанию страницадля каталога кэша задано значение Rails.public_path (обычно это общая папка), и это можно настроить, изменив параметр конфигурации config.action_controller.page_cache_directory. Изменение значения по умолчанию из public помогает избежать конфликтов имен, так как вы можете захотеть поставитьдругой статический html публично, но для его изменения потребуется перенастройка веб-сервера, чтобы веб-сервер знал, где следует обслуживать кэшированные файлы. "

0 голосов
/ 09 августа 2011

Может потребоваться добавить / после caches, попробуйте:

config.action_controller.page_cache_directory = Rails.public_path + "/caches/"

У меня это есть в приложении на Rails 3, и оно работает:

config.action_controller.page_cache_directory = Rails.root.to_s + "/tmp/cache/"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...