У меня есть сомнения по поводу Rolify Gem для Ruby on Rails.
Я хочу создать разрешения для определенных организаций, например,
У меня есть права администратора для организации 1 (Organization.find(1)
)
У меня есть разрешение пользователя для организации 2 (Organization.find(2)
)
У меня есть разрешение модератора для организации 3 (Organization.find(3)
)
Организации разделены клиентом, и у меня может быть много разных разрешений в разных организациях.
Например, я пытался использовать в журнале user.add_role "full_admin", Organization.find(1)
, и у него не было той функциональности, на которую я надеюсь. В БД этот запрос Rolify armazened выглядит следующим образом:
2.1.5 :111 > user.add_role "full_admin", Organization.find(1)
Organization Load (1.1ms) SELECT `organizations`.* FROM `organizations` WHERE `organizations`.`id` = 1 LIMIT 1
Role Load (1.2ms) SELECT `roles`.* FROM `roles` WHERE `roles`.`name` = 'full_admin' AND `roles`.`resource_type` = 'Organization' AND `roles`.`resource_id` = 1 LIMIT 1
Role Exists (1.0ms) SELECT 1 AS one FROM `roles` INNER JOIN `users_roles` ON `roles`.`id` = `users_roles`.`role_id` WHERE `users_roles`.`user_id` = 1 AND `roles`.`id` = 7 LIMIT 1
=> #<Role id: 7, name: "full_admin", resource_id: 1, resource_type: "Organization", created_at: "2017-01-06 19:58:31", updated_at: "2017-01-06 19:58:31">
Буду очень признателен, если кто-нибудь сможет мне помочь, спасибо!