Скажем, у меня есть простое приложение со следующей планировкойКак кэшировать динамический заголовок/нижний колонтитул в приложении rails?
<html>
<head>...</head>
<body>
<%= render :partial => 'layouts/header' %>
<%= yield %>
<%= render :partial => 'layouts/footer' %>
</body>
</html>
Мои колонтитулов обертоны довольно просты, но они требуют динамических данных, которые занимает несколько миллисекунд, чтобы извлечь из БД. Прямо сейчас, я получаю данные заголовка с before_action: метод в мой контроллер приложения, так как это необходимо на всех страницах через (кроме Ajax вызовов):
before_action :prepare_header
private
def prepare_header
@news = ...
end
Как кэшировать либо действие prepare_header или header.erb. HTML. Я использую Rails 4.0.0
Спасибо.
Не будет ли это кэшировать только сам вид, но метод before_action по-прежнему будет выполнять? Это то, что я пытаюсь кэшировать. Просмотр изображений для меня ничтожен, так как он вообще не попадает в базу данных, так что это довольно быстро. – Rorchackh
@ Rorchackh хорошо, что вы попросили либо шаблон 'html.erb', либо действие, этот ответ для шаблона. Я также обновил ответ с помощью action_caching. – xlembouras