【发布时间】:2012-08-11 03:41:04
【问题描述】:
我在 Rails 中有一个多对多的关系,一个用户拥有并属于许多 user_types,反之亦然。那么 user_type 有很多角色。
roles_fruits 表的示例表:
role_id:1,fruit_id:6
角色表示例:
id:1,姓名:Bannana Worker
用户示例表:
id:1,用户名:employee143
水果桌示例:
id:6,名字:bananna
在模型中
user.rb
has_and_belongs_to_many :roles
roles.rb
has_and_belongs_to_many :users
现在,我想要完成的是让具有“Bannana Worker”(id 1)角色的用户能够访问它,而没有它的用户则不能进入它。
伪代码看起来像这样:
如果 user.roles 包含水果 id 则可以:manage,fruit
我如何使用 cancan 来实现这一点,如果不可能的话,什么是好的替代 gem?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 cancan