使用link_to时返回循环:返回

时间:2010-06-17 23:34:01

标签: ruby-on-rails hyperlink

我对表课程有这个结构:

搜索页面 - >结果页面 - >编辑页面 - >显示页面

当我从结果页面转到特定的课程编辑页面时,我编辑它,最后在显示页面上,但是当我回击时,我得到一个从show到edit的循环,然后返回show等等

我希望编辑页面返回到结果页面,如果它来自那里。

我在两者上使用它:

<%= link_to "Back", :back %>

1 个答案:

答案 0 :(得分:3)

当您实际更新已编辑过的记录时,您可能会通过要显示的放置请求从更新操作进行重定向。即使你不是,如果你违反惯例并从show动作更新,你也试图导航到带有get请求的post动作。如果我理解正确,您希望能够从搜索结果或显示页面进行编辑。您应该做的是定义一种方法,允许您根据需要在会话中存储位置。将它放在应用程序控制器中,它将可供所有控制器使用。

# copy this into your application_controller.rb file :
private
def store_location
  session[:return_to] = request.request_uri
end

#copy this to the top of your item_controller.rb file:
before_filter :store_location, :only => [:search, :show]

#replace your <%= link_to "Back", :back %> with
<%= link_to 'back', session[:return_to] -%>