0

我有更新操作(设计 gem),我需要重定向到不同的页面,具体取决于上一页。

我试图像这样检查上一页:

def after_update_path_for(resource)
 logger.info("request:referer: " + request.referer)
 logger.info("paypal_path: " + paypal_path)
  if request.referer == paypal_path
   show_code_path
  else
   edit_user_registration_path(current_user)
  end
end

但它不起作用。转到其他分支。

从控制台

     request:referer: http://127.0.0.1:3000/paypal
     paypal_path: /paypal
     Redirected to http://127.0.0.1:3000/users/edit.13

编辑:

当我从主页转到 paypal_path 给我 nil 并且当它在 paypal_path 到 edit_user_registration_path(current_user) 之后将我重定向给我正确的前一个 URL - .../paypal

我能做些什么来让它发挥作用?

4

2 回答 2

0

您可以像这样检查当前页面: current_page?(:controller => 'controller_name', :action => 'action_name')

于 2012-10-05T06:35:01.497 回答
0

好的聊天后我们找到了一个方法:

if request.env['HTTP_REFERER'] == "http://#{request.env["HTTP_HOST"]}/paypal"
  show_code_path 
else 
  edit_user_registration_path(current_user) 
end
于 2012-10-05T06:55:56.417 回答