Ответ 1
Кажется, что отбросить один частичный дважды, можно ли сделать так?
Если вы хотите минимизировать код, то да, вы можете использовать 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
Но иногда кеширование может быть медленнее. Поэтому имейте в виду, если он соответствует следующим критериям:
-
Частично охватывает сложные вычисления, которые в среднем дороже, чем доступ к кешу. как вызовы API-интерфейса WEB или AR-запросы
-
Размер создаваемого блоком JSON мал
Подробнее см. [Кэширование Jbuilder Rails медленнее]