У нас есть приложение Rails, в котором есть несколько страниц, которые доступны всем, и страницы, которые вы видите только после входа в систему.Мы называем их «общедоступными» страницами и страницами «приложений».Поскольку публичные страницы не меняются, мы хотим включить для них кэширование страниц.Одним из решений этого было бы ручное добавление
caches_page :index, ..
ко всем нашим публичным контроллерам.Однако я не считаю это удобным и рубиновым.Все наши публичные контроллеры наследуются от класса PublicController (некоторые общие методы, поведение, ..), поэтому я подумал о том, чтобы поместить метод кэширования также в PublicController, чтобы все публичные контроллеры кэшировались по умолчанию (опять же, публичные означает более или менее статическийсодержание).Однако в Rails не существует
caches_page :all
.Я подумал об использовании чего-то вроде
self.new.public_methods(false)
, а затем перебрал их и добавил в кеширование.Но так как это есть в PublicController, никакие фактические действия не перечислены.
У кого-нибудь есть хорошее решение этой проблемы?Или это ручной путь только .
Спасибо!