Я выполняю задачу по созданию кэша для большого вывода json с помощью jbuilder. Кеш заполняется, и я могу вывести его в журнал с помощью put, но как я могу добавить его в файл json, возвращаемый основным шаблоном jbuilder?
Я предварительно разогреваю свой кеш, как this:
task update_cache: :environment do
@jobs = Job.where(archived: false).where(assignee_id: 262).each do |job|
puts "job: #{job.id}"
job.workspans.each do |workspan|
json = ApplicationController.new.render_to_string(
template: 'api/jobs/_workspan',
locals: { :workspan => workspan }
)
Rails.cache.write("workspan-#{workspan.id}", json)
end
end
end
И извлекаем его вот так
json.jobs @jobs do |job|
json.job do
json.(job, *Job.column_names)
json.circuit { json.(job.circuit, *Circuit.column_names) }
json.workspans(job.ordered_workspans) do |workspan|
Rails.cache.fetch("workspan-#{workspan.id}") do
render json.partial! 'workspan', workspan: workspan
end
end
end
end
Узел рабочих областей неправильно возвращается как []