我有更新动作(Devise 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时给我零,当它在paypal_path之后重定向到edit_user_registration_path(current_user)时给了我以前的URL - ... / paypal
我能做些什么才能让它发挥作用?
答案 0 :(得分:0)
您可以像这样检查当前页面: current_page?(:controller =>'controller_name',:action =>'action_name')
答案 1 :(得分:0)
聊天后我们找到了一个方法:
if request.env['HTTP_REFERER'] == "http://#{request.env["HTTP_HOST"]}/paypal"
show_code_path
else
edit_user_registration_path(current_user)
end