Предварительно построенный фрагментный кеш (внутренний подход)
Я хочу предварительно построить партиал, который рендерится за несколько секунд. Я видел функции, которые используют прокси для предварительной загрузки кеша через http, но я хотел бы иметь "внутреннее" решение.
Это моя функция, которая вызывается всякий раз, когда myobject
обновлено:
def pre_build_partial myobject
the_controller = ActionController::Base.new
the_controller.instance_variable_set '@myobject', myobject
view_renderer = ActionView::Renderer.new the_controller.lookup_context
view_renderer.render the_controller.view_context, { partial: 'mypartial', layout: false }
end
Он отлично работает для партиалов, которые используют базовые помощники, но мои пользовательские помощники выдают ошибки:
undefined method `my_custom_helper_function' for #<#<Class:...>
Я думаю, что помощник должен быть включен в the_controller
, но я не могу найти способ сделать это. Спасибо за любую помощь заранее!
1 ответ
Решение
Вы можете выбрать некоторые идеи из источника:) https://github.com/rails/rails/issues/18409