2011-11-04 2 views
1

올바른 방법을 생각하고 있는지 모르겠다.레일 3 : 외부 링크의 before_filter

내 레일 앱에서 Omniauth와 페이스 북 인증을 사용합니다.

나는 2 개의 서로 다른 링크 인 "로그인"(콜백 인증/생성 기능을 가진 인증/페이스 북을 대상으로합니다). 하나는 사용자 프로필 (사용자/프로그램)로 리디렉션하고 다른 하나는 게시물 작성 (소식/신규)으로 리디렉션해야합니다.

내가 할 수있는 좋은 방법은 사용자가 "로그인"링크 중 하나를 클릭 할 때 경로 (사용자/표시) 또는 (소식/신규)를 저장 한 다음에이 경로로 리디렉션하는 것입니다. 인증/생성 방법. 나는 before_filter에 대해 "auth/facebook"에 대해 생각했습니다.

하지만 auth/facebook은 페이스 북에 대한 외부 링크이며 일반적인 작업은 아닙니다. 그러면 내가 어떻게 할 수 있니?

답변

0

auth/facebook의 세션에서 "final_destination"변수를 저장하려고 시도 할 수 있습니다.

session[:final_destination] = params[:final_destination] 
... 
omniauth_does_its_thing 
... 

당신은 인증이/아마도으로 로그인을 세션을 사용하는 것입니다 만들 수 있기 때문에 변수에 저장해야

final_destination = session[:final_destination] 

을 생성 활동의 종료 후 :.

redirect_to final_destination 

또는

redirect_to final_destination_2 if sequels.enjoy? 
+0

감사 너! 그게 내가 찾고 있었던거야. :) – michel