Armazene seus parciais, não o contrário.

Pode parecer bom e organizado fazer isso:

# items/index.json.jbuilder
json
.items @items do
json
.partial! "item", item: item
end

# items/show.json.jbuilder
json
.item do
json
.partial! "item", item: @item
end

# items/_items.json.jbuilder
json
.cache! item do
json
(item, :id, :name, ...)
end

Os modelos são SECOS e as coisas são organizadas.

Mas diminuindo a chamada para o cache! no parcial _item é um impacto no desempenho. Considerar:

# items/index.json.jbuilder
json
.items @items do
json
.cache! item do
json
.partial! "item", item: item
end
end

# items/show.json.jbuilder
json
.item do
json
.cache! item do
json
.partial! "item", item: @item
end
end

# items/_items.json.jbuilder
json
(item, :id, :name, ...)

Embora um pouco mais repetitiva, essa estrutura salva as chamadas parciais! assim que o cache estiver quente. Carregar um parcial não é gratuito e o tempo que leva para carregar um aumenta quando agregado em x itens por solicitação e y solicitações por minuto.