rails有个url_for用于生成链接,其中有个url_for(:back)
<%= url_for(:back) %>
# if request.env["HTTP_REFERER"] is set to "http://www.example.com"
# => http://www.example.com
<%= url_for(:back) %>
# if request.env["HTTP_REFERER"] is not set or is blank
# => javascript:history.back()
所以我们可以通过request获取到上一个链接,在通过flash临时储存,在修改完后跳回原链接
获取上一个链接
def edit
flash[:back_url] = request.env["HTTP_REFERER"]
@action_path = ['文章管理', '修改文章']
end
修改完后跳转
if flash[:back_url].blank?
redirect_to action: :index
else
redirect_to flash[:back_url]
end