上下文
Categorylist has_many Itemlist
Itemlist
有两个布尔属性 - request_list
& inventory_list
- 无论是真还是假(独立,都可以是真或假或其他)现在,我想迭代Categorylist
每个Categorylist
包含至少一个Itemlist
且inventory_list
属性设置为true
的{{1}}。
用语言:我有一组主要的类别和项目,我创建为管理员。我希望这些项目中的一些出现在请求页面上,其他项目出现在库存页面上,有些项目出现在两者上。在每个请求/库存页面上,我只想显示包含我想要在该请求/库存页面上显示的项目的类别。
解决方案:
下面我有一个有效的解决方案,但是看看它是否可以进一步改进。谢谢!
Categorylist.all.select { |c| c.itemlists.pluck("inventory_list").include? true }.each do |n|
答案 0 :(得分:0)
我认为这应该符合您的要求:
Categorylist.includes(:itemlists).where(itemlists: { inventory_list: true })