点击更新按钮后,如何从编辑视图(edit.html.erb)返回上一页(列出有问题的项目)?我尝试过:
redirect_to request.referer #stays on the same page(edit.html.erb)
redirect_to session.delete(:return_to) #outputs "Cannot redirect to nil!"
redirect_to :back #stays on same page
redirect_back fallback_location: posts_path #stays on same page
redirect_to(request.env['HTTP_REFERER']) #stays on same page
在数据库中,注释已更新。
虽然我可以使用posts_path(@comment),但我还想编辑另一个URL中的注释。因此,需要重定向到上一页。
答案 0 :(得分:0)
您不能调用request.referer
直接返回上一个编辑页面。由于使用update
方法,request.referer
将始终是edit
路径。
您可以做一些技巧,例如解析request.referer
动作的edit
(可能是index
,例如作为update
动作的参数,以及重定向到更新资源的路径)
# edit form view
<%= hidden_field_tag :previous_request, request.referer %>
# update action
def update
...
redirect_to params[:previous_request]
end