在 Rails 中,如何显示当前用户访问的最近 5 个页面的列表?
我知道我可以做 redirect_to(request.referer) 或 redirect_to(:back) 链接到最后一页,但我如何创建一个实际的页面历史列表?
它主要用于原型,因此我们不必将历史记录存储在数据库中。会话会做。
在 Rails 中,如何显示当前用户访问的最近 5 个页面的列表?
我知道我可以做 redirect_to(request.referer) 或 redirect_to(:back) 链接到最后一页,但我如何创建一个实际的页面历史列表?
它主要用于原型,因此我们不必将历史记录存储在数据库中。会话会做。
你可以在你的 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
现在它存储最近访问的五个 url
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
....
后来你可以做
redirect_to session[:latest_pages_visited].last