控制器内的Destroy操作中的不同Redirect_To取决于Origin

时间:2012-10-07 23:34:19

标签: ruby-on-rails

我目前在控制器中有一个功能正常的销毁功能,但问题是我需要在删除后将用户重定向到不同的网址,具体取决于点击该按钮的位置。

例如,如果用户访问权限从索引中看到他的记录列表,并点击删除,则会将其重定向回索引(我不能通过redirect_to index_path使用:back动作,因为它会导致ActiveRecord :: RecordNotFound)如果用户点击“查看所有记录”页面中的删除按钮,我需要将用户重定向到see_all_records_path。

我是否需要创建不同的控制器,操作等?让我知道。非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以检查控制器中的request.referer并根据该值重定向,它将具有单击删除按钮时所用页面的完整URL。您可以使用正则表达式或其他方法来确定应该在何处重定向此用户。

if request.referer.include?('see_all_records')
  ..redirect to see_all_records
else
  ..redirect to index
end