我有一个带有关联的应用程序,并会对页面进行分页。
主对象“cat_list”的索引页面显示了指向“data_lists”关联的链接。索引页面也与“will_paginate”
分页此索引页面显示包含Edit,Destroy和New链接的data_lists列表。 并且cat_lists索引页面的后向链接现在为“/ cat_lists”
实现这些功能的最佳做法是什么,Back Link现在是来自哪个页面?
答案 0 :(得分: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
请注意,这仅适用于GET请求。
答案 1 :(得分:2)
如果我理解正确link_to('Back', :back
)就是你想要的。
答案 2 :(得分:0)
我也使用mosch的方法。
link_to('Back', :back)
仅使用浏览器的“后退”功能。管理历史服务器端可以让您获得更多控制权(例如,如果您来自谷歌搜索,请猜测发生了什么:返回)。
管理历史服务器端使您可以隐藏将用户从页面上移除的链接。此外,您可以让用户浏览多个步骤 - 即通过下拉菜单。