Кэширование действий Rails для пользовательских записей

Я новичок в rails, пытаюсь реализовать кеширование для своего приложения. Я установил memcached и настроил его в своем development.rb следующим образом:

config.action_controller.perform_caching             = true
config.cache_store = :mem_cache_store

У меня есть контроллер ProductsController, который показывает пользовательские продукты, когда они вошли в систему.

class ProductsController < ApplicationController
  caches_action :index, :layout => false
  before_filter :require_user

  def index
    @user.products              
  end
end

The route for index action is: /products

Проблема в том, что когда я вхожу в систему как

1) Пользователь A впервые rails попадает в мой контроллер и кэширует действие продуктов.

2) Я выхожу из системы и вхожу в систему как пользователь B, он по-прежнему регистрирует меня как пользователь A и показывает продукты для пользователя A, а не пользователя B. Он даже не попадает в мой контроллер.

Ключ, вероятно, является маршрутом, в моей консоли memcached я вижу, что он выбирается на основе того же ключа.

20 get views/localhost:3000/products
20 sending key views/localhost:3000/products

Кэширование действий - это не то, что я должен использовать? Как я могу кэшировать и отображать продукты для конкретных пользователей?

Спасибо за вашу помощь.

6
задан truthSeekr 23 February 2011 в 19:32
поделиться