rails 3 caching: expire action for named route

У моего контроллера есть это:

caches_action :render_ticker_for_channel, :expires_in => 30.seconds

В моем файле маршрутов у меня есть это:

match '/render_c_t/:channel_id' => 'render#render_ticker_for_channel', :as => :render_channel_ticker

В файле журнала я вижу это:

Write fragment views/mcr3.dev/render_c_t/63 (11.6ms)

Как мне истечь это вручную? Мне нужно истечь это с другого контроллера, чем контроллер рендеринга, но даже внутри контроллера рендеринга я не могу заставить его истечь правильно.

Если я это сделаю:

 expire_action(:controller => 'render', :action => 'render_ticker_for_channel', :id => c.id)

Я вижу:

Expire fragment views/mcr3.dev/render/render_ticker_for_channel/63 (3.2ms)

Если я do:

expire_action(:controller => 'render', :action => 'render_c_t', :id => c.id)

Я вижу:

Expire fragment views/mcr3.dev/render/render_c_t/63 (3.2ms)

Это:

expire_action("render_c_t/#{c.id}")

производит:

Expire fragment views/render_c_t/63 (3.5ms)

Как я могу заставить его истечь тот же путь, что и 'caches_action'?!

6
задан Maurício Linhares 18 August 2011 в 14:55
поделиться