2015-01-25 2 views
0

У меня есть решение с несколькими арендаторами, где я хотел бы кэшировать результаты сериализаторов.Укажите cache_key самостоятельно для сериализаторов ActiveModel

Поскольку кеш должен отличаться для разных пользователей, я хотел бы указать сам cache_key (например, «/ accounts/1/tags»). Возможно ли это с помощью текущего массива Serializer ActiveModel?

ответ

0

Предполагая, что учетная запись будет возвращать ту же информацию для любого пользователя, связанного с ней:

class AccountSerializer < ActiveModel::Serializer 
    attributes :id, :name, :balance 
    has_many :transactions 
    cached 
    delegate :cache_key, to: :object 
end