In rails, how do I display a list of the lastest 5 pages the current user has visited?
I know that I can do redirect_to(request.referer) or redirect_to(:back) to link to the last page, but how do I create an actual page history list?
Its mainly for a prototype, so we dont have to store the history in the db. Session will do.
You can put something like this in your application_controller:
class ApplicationController < ActionController::Base
before_filter :store_history
private
def store_history
session[:history] ||= []
session[:history].delete_at(0) if session[:history].size >= 5
session[:history] << request.url
end
end
Now it store the five latest url visited
class ApplicationController < ActionController::Base
after_action :set_latest_pages_visited
def set_latest_pages_visited
return unless request.get?
return if request.xhr?
session[:latest_pages_visited] ||= []
session[:latest_pages_visited] << request.path_parameters
session[:latest_pages_visited].delete_at 0 if session[:latest_pages_visited].size == 6
end
....
and later you can do
redirect_to session[:latest_pages_visited].last
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With