3

rabl caching docを読みましたが、コードのフラグメントをキャッシュする方法がわかりません。私はこのようなビューを持っています(コードは他にもありますが、簡単にするために削除しました):

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 を 2 時間キャッシュしたいと考えています。どうやってやるの?

私はrabl(0.7.6)、rails(3.2.0)、ruby(1.9.3p125)を使用しています

4

1 に答える 1

5

このスレッドに続いて、:event の子をパーシャルに移動し、このパーシャルをキャッシュします。

show.rabl.json:

object @video

attributes :id, :user_id, :event_id

child :event do
  extends "event"
end

child :user do
  attributes :id
end

event.rabl.json:

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

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

そして、それは私にとってはうまくいきます。

于 2012-11-06T08:52:26.440 に答える