кажется пустой тратой, чтобы сделать один частичный два раза, я могу вынести, как это?
Если ваша проблема заключается в том, чтобы свести к минимуму код, то да, вы можете использовать proc
s.
user_json = proc { json.partial! 'user', user: @user }
json.author &user_json
json.owner &user_json
Кроме того, если ваша забота, чтобы повысить производительность, то один из способов заключается в кэш частично. Попробуйте это
user_json = proc {
json.cache! @user, expires_in: 10.minutes do
json.partial! 'user', user: @user
end
}
json.author &user_json
json.owner &user_json
Но иногда кеширование может быть медленнее. Итак, имейте в виду, если она отвечает следующим критериям:
Частичное охватывает здоровенный вычисление, которое в среднем дороже, чем доступ к кэш-памяти. как WEB API вызовы или AR запросов
Размер сгустка JSON производится небольшой
Смотреть это для получения дополнительной информации [Jbuilder Rails caching is slower]