我有一个索引操作,我想在表格中显示所有产品,如果当前用户具有该产品的管理能力,请提供该产品的链接。
我的产品文档可能非常大,因此我想在查询中使用 .only() 来仅获取与表相关的那些字段。
当我使用 .only() 时,我无法获得罐头?帮助程序正常工作。省略 .only() 效果很好。我尝试将所有我认为可能对罐子有影响的属性添加到 .only() 中?帮手无济于事。
#products_controller.rb
...
def index
@products = Product.all #can? helper in view satisfied for proper products
@products = Product.all.only(:name, :_id, :price) # can? helper never satisfied
end
模型实例需要哪些属性才能满足 can?:管理助手?
编辑:能力.rb
...
can :manage, Product, :_id.in => user.products
products 是存储在用户文档中的属于用户的产品 ID 数组