2013-05-11 2 views
1

В моем приложении rails у меня есть администраторы и пользователи.Rails routing для пользователя

Пользователи должны видеть только свои собственные ресурсы/пакеты/склад/приборную панель. и админы должны изучить все их с помощью пользовательских контроллеров/user1/packages/user2/packages, и все они сразу (объединены) с/packages/storage/dashboard

Я не уверен, как это получить структура в маршруты и контроллеры рельсов.

resources :users do 
    resources :packages 

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

любые идеи?

+0

Возможный дубликат [Управление ролями с помощью cancan и rollify] (http://stackoverflow.com/questions/11927570/role-management-with-cancan-and-rolify) –

+0

Я знаю, как устанавливать роли для моих пользователей , Я борюсь с правильной маршрутизацией. – nohayeye

+0

Я не думаю, что вы сможете определять маршруты, специфичные для пользователя, вы можете просто ограничить доступ некоторых пользователей на основе их ролей к некоторым маршрутам. –

ответ

0

Вы не должны пытаться это делать с помощью маршрутизации, а через разрешения.

Один простой способ сделать это: использовать before_filter :check_permission, который проверил тип пользователя, например current_user.is_a?(Admin), и перенаправил на соответствующую страницу соответствующее сообщение (например, «Вам не разрешен доступ сюда»), если проверка получилась ложной.