使用request.referer重定向

时间:2014-09-12 00:13:56

标签: ruby-on-rails

我的应用程序中有两个编辑页面。保存编辑后,我想将用户重定向到其他页面,具体取决于他们是否在' / info'页面或' /编辑'页。我正在尝试使用request.referer来查找用户来自哪里以决定将其重定向的路径。

(如果他们在' / info'他们来自' / users / sign_up')

控制器

if URI(request.referer).path == '/users/sign_up'
  redirect_to root_path, notice: "Welcome" 
else 
 redirect_to user_path(@user)
 end

问题是无论用户身在何处,它都会重定向到user_path。

(顺便说一下,我没有设置使用request.referer来解决这个问题。我也尝试使用' current_uri = request.env [' PATH_INFO']'运气相同)

1 个答案:

答案 0 :(得分:3)

当您使用/ info然后执行编辑时,您将进行单独的操作和另一个页面(编辑页面)。因此,引用者将成为信息页面,而不是之前的页面。尝试:

if URI(request.referer).path == '/info'
  redirect_to root_path, notice: "Welcome" 
else 
 redirect_to user_path(@user)
 end