2012-10-30 7 views
0

작동하지 않는 행동을 통해 렌더링/리디렉션 나는 다음과 같은 코드가 있습니다루비 -

def isLoggedIn 
    if session[:username].nil? 
     puts "Not logged in!" 
     return render :controller=>"admin", :action=>"login" 
    end 
    end 

그리고 사용자의 상태를 확인하기 위해 상단에이 작업을 호출하는 다음 코드를.

내가 겪고있는 문제는 콘솔이 "로그인하지 않았 음"에도 불구하고 코드가 과거의 isLoggedIn을 계속 실행한다는 것입니다. 예상대로 사용자가 로그인하지 않았기 때문에이 작업은 수행하지 않는 대체 레이아웃을 렌더링해야합니다. 만약 내가 동작을 잘못 입력하면 (예를 들어 "logib"), 누락 된 템플릿에 대해 불평합니다. 그래서 렌더링 함수를 실행하는 것을 볼 수 있습니다.

redirect_to로 렌더링을 변경하거나 줄 끝까지 return 문을 이동하는 경우와 동일합니다.

아이디어가 있으십니까?

render :controller=>"admin", :action=>"login" and return

답변

0

레일즈 가이드

는 다음과 같은 방법으로이 일을 말한다.
+0

을하지만 원래의 질문에 말했듯이, 이상한 행동에 영향을주지 않는다 :

많은 감사 –

+0

실제로 "렌더링"이 redirect_to가 아니어야합니까? 또한 IsLoggedIn을 before_filter로 옮기는 것도 좋은 생각입니다. – messick