2014-07-08 51 views
0

語境:ActiveRecord通過子屬性查詢和計數 - 更好的解決方案?

  • Categorylist has_many Itemlist
  • Itemlist兩個布爾attributes-- request_list & inventory_list - 這是真還是假(獨立,這意味着既可以是真或假或其他)

現在我想遍歷Categorylist,其中Categorylist包含至少一個Itemlistinventory_list屬性設置爲true

言外之意:我有一組主要的類別和項目,我創建爲admin。其中一些項目我希望顯示在請求頁面上,其他項目位於廣告資源頁面上,另一些則位於兩者上。在每個請求/庫存頁面上,我只想顯示具有要在該請求/庫存頁面上顯示的項目的類別。

解決方案:

下面我有一個有效的解決方案,但想看看它是否能進一步得到改善。謝謝!

Categorylist.all.select { |c| c.itemlists.pluck("inventory_list").include? true }.each do |n| 

回答

0

我想這應該符合您要求的工作:

Categorylist.includes(:itemlists).where(itemlists: { inventory_list: true }) 
相關問題