Rails устанавливает уровень журнала в производственном режиме на :info
, следовательно, он не регистрирует попадания в кеш и пропуски. Если вы установите
config.log_level = :debug
в вашем config/enviroments/production.rb
, тогда вы увидите сообщения вроде:
Cached fragment hit: views/test (0.2ms)
Cached fragment miss: views/test (1.8ms)
в вашем журнале. Второе решение заключается в настройке среды разработки для выполнения кэширования, поскольку :debug
является уровнем журнала по умолчанию в этой среде. Это можно сделать, установив:
config.action_controller.perform_caching = true
config.cache_store = :file_store, File.join(RAILS_ROOT, 'tmp', 'cache')
Это лучший способ сделать это, поскольку, если ваше приложение будет запущено в производство, вы не будете так много регистрировать.
Кстати: вам не нужно звонить read_fragment
в вашем контроллере. Вспомогательный метод cache
сделает это за вас.