如何实现Back Link到来自的页面

rom*_*mus 0 will-paginate ruby-on-rails-3

我有一个关联的应用程序,并将页面分页.

主对象"cat_list"的索引页面显示了指向"data_lists"关联的链接.索引页面也有"will_paginate"的分页

  1. 我显示例如page = 3"/ cat_lists?page = 3"
  2. 我点击"data_lists"的链接,例如"/ cat_lists/8984/data_lists"

此索引页面显示包含Edit,Destroy和New链接的data_lists列表.并且cat_lists索引页面的后向链接现在为"/ cat_lists"

实现这些功能的最佳做法是什么,Back Link现在来自哪个页面?

mor*_*itz 5

我通常在会话中记录历史,然后通过redirect_to back(没有冒号)调用它

def index
  ... do your stuff ...
  record_history
end

protected

  def record_history
    session[:history] ||= []
    session[:history].push request.url
    session[:history] = session[:history].last(10) # limit the size to 10
  end

  def back
    session[:history].pop
  end
Run Code Online (Sandbox Code Playgroud)

请注意,这仅适用于GET请求.