Rails 3: как включить действия, основанные на ролях? - PullRequest
1 голос
/ 23 октября 2011

У меня разные роли на моем сайте RPG. Каждый пользователь может иметь много ролей и на основании этого может получать доступ к функциям. Допустим, например, что пользователь является учителем и директором, он должен получить доступ к странице для управления своими предметами, а другой - для управления всем сайтом.

Некоторые люди имеют более 5 ролей, и становится очень неудобно иметь 5 ссылок на каждый офис в шапке. Как я могу иметь действие для включения других на основе ролей?

На самом деле я хочу показать все офисы, доступные пользователю, на уникальной странице, включая офисы, управляемые одним действием. Как это возможно?

Заранее спасибо!

PS: действия в разных контроллерах

Ответы [ 3 ]

1 голос
/ 16 января 2012

Если я вас правильно понял.

Я думаю, что это похоже на проблему с привилегиями пользователя. Если это так, я рекомендую драгоценность Райана "CanCan". Это супер просто в использовании.

CanCan

И его Railscast: # 192 Авторизация с CanCan

0 голосов
/ 16 января 2012

Попробуйте гем Cancan , способ ограничения операций с базой данных на основе ролей.

Пример из документов :

@ article =Article.accessible_by (current_ability)

0 голосов
/ 13 января 2012

Составьте цепочку команд с ролевой массой.Самая тяжелая роль объединяет множество связанных между собой маленьких.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...