Rendering unique cached page per user in Fragment Caching

Hi,

My app has devise authentication for every user. I integrated fragment caching for one of my views which is accessible only on sign-in.

The cached page saved by one user is accessible by another user. How can I implement a unique key based caching so that cached pages are unique for every user?

I read about some caching methods below but not sure how to create/retrieve a unique cached page.

http://api.rubyonrails.org/classes/ActionController/Caching/Fragments.html

Thanks.

Include the user id in the key string.

Colin

Thanks Colin for your reply. Can you please let me know how can user_id be included in caching key string? I have following implementation of caching as of now.

app/views/employee/index.html.erb

<% cache "employee_list "do %>

``List of all employees:

``<% Employee.all.each do |e| %>

``<%= link_to [e.name](http://e.name), employee_url(e) %>

``<% end %>

<% end %>

app/sweepers/employee_sweeper.rb

class EmployeeSweeper < ActionController::Caching::Sweeper observe Employee def sweep(employee) expire_fragment(“employee_list”) end alias_method :after_create, :sweep alias_method :after_update, :sweep alias_method :after_destroy,:sweep

end

Something like cache "employee_list #{current_user.id}" do so the user id is included in cache key. Similarly for expire.

Colin