我在 Rails 中有一个多对多的关系,一个用户拥有并属于许多 user_types,反之亦然。那么 user_type 有很多角色。
role_fruits 表的示例表:
role_id:1,fruit_id:6
角色表示例:
id:1,姓名:Bannana Worker
用户示例表:
id:1,用户名:employee143
水果表示例:
id: 6, name: 香蕉
在模型中
用户.rb
has_and_belongs_to_many :roles
角色.rb
has_and_belongs_to_many :users
现在,我想要完成的是让具有“Bannana Worker”(id 1)角色的用户能够访问它,而没有它的用户则不能进入它。
伪代码看起来像这样:
如果 user.roles 包含水果 id 然后可以:管理,水果
我怎样才能用 cancan 完成这个,如果不可能,什么是好的替代宝石?