2012-09-14 5 views
0

사용자가 로그인 한 후 dashboard_path으로 리디렉션했습니다. 해당 컨트롤러에 대시 보드라는 작업이 있어야한다고 생각합니다. 그러나 컨트롤러에서 대시 보드 작업을 제거해도 여전히 정상적으로 작동했습니다. 그게 어떻게 가능해.? 도와주세요. 나는 혼란 스럽다. 세션 컨트롤러 사용자 컨트롤러에서레일에서 방향 전환 문제

def create 
    admin=Admin.find_by_email(params[:session][:email].downcase) 
    user=User.find_by_email(params[:session][:email].downcase) 

    if user && user.authenticate(params[:session][:password]) 
    redirect_to dashboard_path 
    else 
    redirect_to(admins_index_path(:current_admin=>admin)) 
    end 
end 

에서

(I 사용자 컨트롤러에서이 작업을 제거한 경우 여전히 대시 보드 페이지로 리디렉션 .. 어떻게 ??)

def dashboard 
end 

routes.rb

match '/dashboard' => 'admins/users#dashboard' 

답변

0

'컨벤션 오버 컨피규레이션'이라고 불리우며, 레일스는이를 많이 가지고 있습니다. 컨트롤러 동작에 render 또는 redirect_to을 지정하지 않으면 레일의 기본 동작은 동작과 동일한 이름의 뷰로 리디렉션하는 것입니다.

이 주제에 대한 자세한 내용은 의 일부이며, 레일스 동작에 대한 많은 정보가 포함되어 있습니다. Action Controller Overview을 읽어야합니다.