使用 cancancan 进行记录级别授权的最佳实践方法是什么

What is the best practice method of doing record level authorization with cancancan

我想用cancancan的ability.rb文件gem做唱片级授权

假设我有一个用户,has_many 辆车,has_many 车轮。

我想对 Wheels 进行授权,这样只有拥有 Wheel 的 Car 的 Users 才能管理它。

执行此操作的最佳实践方法是什么?

您可以在 ability.rb

中这样定义它
can :manage, Wheel, car: { user_id: user.id }

有关详细信息,请参阅:

https://github.com/CanCanCommunity/cancancan/wiki/defining-abilities