我有一个用户索引操作,可根据参数将某人定向到不同的页面。目前,当用户传入搜索参数并且我呈现自定义视图模板时,当用户点击用户时,它会转到他们的用户编辑页面。我希望浏览器上的后退按钮返回自定义视图,如果用户来自的话。但是,无论如何,它都会继续回到用户索引。
我应该怎样做才能使浏览器返回按钮返回到用户来自的最后一页?
我的控制器代码是:
def index
@criteria = params[:criteria]
respond_to do |format|
format.js {
unless @criteria.blank? || @criteria.length < 3
@results = fire(@criteria)
render :template =>'admin/users/search_user', :object => @results, :locals => { :autocomplete => true, :criteria => @criteria }
else
@users = User.paginate :page => params[:page], :order => "users.created_at desc"
render :template =>'admin/users/users', :object => @users, :locals => { :autocomplete => true, :criteria => @criteria }
end
}
format.html {
@users = User.paginate :page => params[:page], :order => "users.created_at desc"
}
end
end
这是我对流程的理解:
谢谢!
答案 0 :(得分:3)
试试<%= link_to 'Back', 'javascript:history.go(-1);' %>
。它将为您提供与浏览器后退按钮完全相同的功能。
答案 1 :(得分:1)
不确定,如果我理解正确,但这可以解决您的问题,也许
<%= link_to "Back", :back %>
答案 2 :(得分:0)
您所描述的基本上是友好的转发。在这种情况下,您无法覆盖浏览器的默认行为(除非您想深入了解JavaScript的漏洞),但您可以通过遵循类似的模式来实现用户友好的功能:
http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-users#sec-friendly_forwarding
无论如何,希望有所帮助。