0
假設我有一個Products模型和一個Categories模型。保存常量查詢 - 導軌
我想在首頁上顯示每個類別的頂級產品。
我做這樣的事情(簡體):
# Using closure tree gem for category hierarchy
# This returns a list of category IDs, somewhat expensive call if
# there are a lot of categories nested within "toys"
@categories = Category.find('toys').self_and_descendants
@top_toys = Products.joins(:categories).where(:categories => {:id => category_ids}}).limit(5)
我不知道這是否是最有效的方式。似乎有一種方法可以存儲那些相對不變的類別ID。
任何想法?謝謝!
還應該加上'Rails.cache.clear「類別:#{} category_type」'在分類#更新和類別#創建 –
我使用一個連接表,因爲他們有一個HABTM協會 – AlexBrand
對於HABTM,你會需要重新加入連接,但通過僅獲取ID而不是整個類別定義,獲取類別ID的第一個查詢仍然會更快一些 –