我有一个索引操作,我希望在表格中显示所有产品,如果当前用户具有该产品的管理功能,请提供该产品的链接。
我的产品文档可能非常大,所以我想在查询中使用.only()来仅获取与表相关的那些字段。
当我使用.only()时,我无法获得罐头?帮手正常运作。离开.only()完美无缺。我已经尝试将所有属性添加到.only(),我认为可能对can有影响?帮助无济于事。
#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
模型实例需要哪些属性来满足罐头? :管理助手?
编辑: ability.rb
...
can :manage, Product, :_id.in => user.products
产品是属于用户文档中存储的用户的产品ID数组