2012-10-05 5 views
0

업데이트 작업 (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로 이동 전무 저를 제공하고 edit_user_registration_path (CURRENT_USER)에 paypal_path 후 저를 리디렉션 할 때 이전 RIGHT 나에게 준다 URL - .../paypal

내가 제대로 작동하도록하려면 어떻게해야합니까?

+0

request.referer의 내용을 게시 할 수 있습니까? – Flo

+0

@Flo, 페이팔 페이지 또는 edit_user_registration에 있습니까? – skrypalyk

+0

둘 다 최고 일 것입니다 :) – Flo

답변

0

이 같은 현재 페이지를 확인할 수 있습니다 CURRENT_PAGE을? (: 컨트롤러 => 'controller_name를': 행동 => 'ACTION_NAME')를

+0

컨트롤러에서해야합니다. 'current_page? '를 사용하면'undefined'가 나타납니다 – skrypalyk

0

좋아 우리가 방법을 발견 채팅 후 :

if request.env['HTTP_REFERER'] == "http://#{request.env["HTTP_HOST"]}/paypal" 
    show_code_path 
else 
    edit_user_registration_path(current_user) 
end 
+0

질문이 업데이트되었습니다. – skrypalyk

+0

thx. 당신은 사용할 수 있습니다 : request.path 대신 request.referer베이스 URL없이 현재 URL을 제공합니다 – Flo

+0

이렇게? -'request.path == paypal_path' – skrypalyk

관련 문제