Rails 4 - Rolify - как назначить роль с ограниченной областью действия

Я пытаюсь понять, как назначить роль пользователю в Rails 4, используя rolify.

Мой вариант использования:

Я хочу назначить глобальные роли пользователям, которые работают с приложением.

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

Как я могу добиться этого в рельсах? На данном этапе я застрял в логике того, как это сделать.


person Mel    schedule 07.08.2016    source источник


Ответы (1)


Ознакомьтесь с документацией здесь. В нем есть примеры для определения ролей, связанных с экземпляром ресурса и классом ресурса.

Чтобы определить глобальную роль:

customer = Customer.find(1)
customer.add_role :admin

Чтобы определить роль для экземпляра ресурса:

customer = Customer.find(2)
customer.add_role :moderator, Organization.first // you are looking for this

Чтобы определить роль для класса ресурсов:

customer = Customer.find(3)
customer.add_role :moderator, Organization
person Rahul Singh    schedule 07.08.2016
comment
спасибо - я видел документы. Не могу понять, как это реализовать в коде. Я не знаю, как динамически ограничить атрибут «Организация» соответствующей организацией. Я не знаю, нужно ли мне определять новое действие контроллера для назначения роли, а если да, то я не знаю, в какой контроллер поместить действие. - person Mel; 07.08.2016
comment
Когда они создают учетную запись. Здесь я изложил полный контекст: stackoverflow. ком/вопросы/38810323/ - person Mel; 07.08.2016