Я использую решение на основе базы данных для меток и переводов, которые я хотел бы кэшировать на уровне сериализатора. Вот мой сериализатор.
class AppLabelSerializer < ActiveModel::Serializer
cache key: 'app_label', expires_in: 3.hours
attributes :id, :key, :label, :label_plural
def key
object.app_label_dictionary.key
end
end
Проблема в том, что мне нужно кэшировать метки для каждого языка, поэтому мне нужно указать язык где-то в ключе. Я попробовал это решение:
cache key: "#{scope.app_language.name}/app_label", expires_in: 3.hours
Но значение scope
там почему-то недоступно.