【发布时间】:2013-12-02 20:55:50
【问题描述】:
我有一个用户索引操作,可以根据参数将一个人引导到不同的页面。目前,当用户传入搜索参数并呈现自定义视图模板时,当用户单击用户时,它会转到他们的用户编辑页面。如果那是用户来自的地方,我希望浏览器上的后退按钮返回自定义视图。但是,无论如何,它都会继续返回用户索引。
我应该怎么做才能使浏览器返回按钮返回到用户来自的最后一页?
我的控制器代码是:
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
这是我对流程的理解:
- 用户点击用户链接
- 路由默认为用户索引
- 动作加载数据并呈现模板
- 模板显示
- 搜索参数中的用户类型
- html 表单使搜索词进入标准,标准进入参数
- 默认从浏览器提交输入
- 因为没有自定义路由,所以提交指向相同操作的点?
- 由于 params 具有条件,因此会呈现搜索结果/模板
- 点击用户,带你进入用户编辑
- 点击浏览器上的返回按钮,浏览器知道页面列表是用户索引作为最后一站,因为搜索结果不是单独的 URL 并且 HTML 是用 Javascript 呈现的?
- 需要让浏览器以某种方式重定向到搜索结果模板
谢谢!
【问题讨论】:
-
能否请您添加您的控制器代码?
-
在上面添加了
标签: ruby-on-rails ruby ruby-on-rails-3 views