Кэширование фрагмента в рабле?

Я прочитал документацию по кэшированию rabl и не понимаю, как я могу кэшировать фрагмент кода. У меня есть такое представление (там больше кода, но я удалил его для простоты):

object @video

attributes :id, :user_id, :event_id

child :event do
  attributes :id
  node(:name) { |event| event.name }
end

child :user do
  attributes :id
end

И я хочу кэшировать :event child на два часа. Как я могу это сделать?

Я использую rabl(0.7.6), rails(3.2.0), ruby(1.9.3p125)


person mr.The    schedule 02.11.2012    source источник


Ответы (1)


Следуя этой ветке, я перемещаю дочерний элемент :event в партиал и кэширую этот партиал.

показать.rabl.json:

object @video

attributes :id, :user_id, :event_id

child :event do
  extends "event"
end

child :user do
  attributes :id
end

событие.rabl.json:

object @event
cache @event, :expires_in => 2.hour

attributes :id
node(:name) { |event| event.name }

И это работает хорошо для меня.

person mr.The    schedule 06.11.2012