【发布时间】:2021-10-23 01:40:58
【问题描述】:
我有一个 Rails 6 应用程序,并且正在使用 CanCanCan 来授权资源。
对于我的复数资源,CanCanCan 有 load_and_authorize 方法,它查看我的能力,用户可以访问哪些资源。
但知道我希望用户可以看到其帐户。
在我的用户模型中,我有
belongs_to :account
一个帐户可以有多个用户。
在我的能力范围内
can [:read], Account, id: user.account_id
所以用户可以访问:/accounts/:id
但我希望他改为访问/account。
所以我创建了一个单一的资源resource :account
但是我现在如何加载帐户资源?我希望 CanCanCan 能为我做到这一点。但似乎 ir 没有。真的是用Account.find(id) 以某种方式加载资源的唯一解决方案吗?这似乎不是一个干净的解决方案,因为单数路由路由到我有 CanCanCan 进行授权的复数控制器。
有什么想法吗?
【问题讨论】:
-
你不能用
current_user.account之类的东西来获取帐号吗?
标签: ruby-on-rails ruby-on-rails-6 cancan cancancan