2013-05-11 2 views
1

내 레일 앱에는 관리자와 사용자가 있습니다.사용자 당 레일 라우팅

사용자는 자신의 리소스/패키지/창고/대시 보드 만 볼 수 있습니다. 관리자는 사용자 정의 컨트롤러/user1/packages/user2/packages로 모든 항목을 조사해야하며이 모든 항목을/packages/warehouse/dashboard와 함께 한 번에 병합합니다 (

) 구조를 레일 경로와 컨트롤러로 변환합니다.

resources :users do 
    resources :packages 

    collection do 
     get 'warehouse' => "warehouse#index" 
     get 'dashboard' => "dashboard#index" 
    end 
end 

어떤 아이디어가 있습니까?

+0

가능한 [cancan 및 rolify를 사용한 역할 관리] (0120-336-505) –

+0

내 사용자의 역할을 설정하는 방법을 알고 있습니다. , 나는 정확한 경로 설정에 어려움을 겪고있다. – nohayeye

+0

사용자 별 라우트를 정의 할 수 없을 것이라고 생각합니다. 일부 라우트에 대한 역할에 따라 일부 사용자의 액세스를 제한 할 수 있습니다. –

답변

0

라우팅을 통해가 아니라 권한을 통해이 작업을 시도하면 안됩니다.

한 가지 간단한 방법은 current_user.is_a?(Admin)과 같이 사용자의 유형을 확인한 후 해당 메시지 (예 : '여기에 액세스 할 수 없습니다.')와 같은 적절한 페이지로 리디렉션하는 before_filter :check_permission을 사용하는 것입니다. 검사 결과 거짓.