首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pundit授权mongodb聚合

Pundit授权mongodb聚合
EN

Stack Overflow用户
提问于 2020-07-08 02:44:18
回答 1查看 48关注 0票数 0

我正在使用Pundit在我的控制器中授权一个模型:

代码语言:javascript
复制
@board = authorize Board.find(id)

但是,我的模型上有一个full()方法,它调用mongodb聚合并返回json。如果我尝试授权,我会得到错误:

unable to find policy 'HashPolicy' for ... (object)

这是因为Pundit期望active_record模型进行授权。

我目前正在解决这个问题,我首先对Board.find(id)进行了授权,然后进行第二个db调用来获得聚合。这显然不切实际。

有没有办法让Pundit接受json对象?或者,有没有办法让我从聚合中取回原始对象?

EN

回答 1

Stack Overflow用户

发布于 2020-07-08 03:50:11

事实证明,如果记录不是活动记录对象,则必须显式设置policy_class

@board = authorize Board.find(id), policy_class: BoardPolicy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62781899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档