2010-11-11 49 views
0

我有一個Rails應用程序和幾個模型類(例如Category,SubcategoryUser等)。爲了實現一個不太平凡的過濾器功能,我建立了一個過濾器類的層次結構:FilterCategoryFilterSubcategory等,它們來自FilterBase。他們每個人都使用適當的「姐妹」模特班(例如Category.find :all)。Rails:調用其他模型的無表模型

我很快意識到,我不能簡單地在不先使用「require」的情況下調用「姐妹」模型類。然而,我現在懷疑使用「require」是我發佈了herehere兩個其他問題的主要原因,這可能會在config.cache_classes=false時混淆類緩存。

有沒有另外一種方法讓我在不需要它們的情況下調用這些其他模型?我嘗試使用BaseWithoutTable插件,但是當我調用「姐妹模型」時,最終得到「不是有效的常量描述符:無」,這是因爲Rails尋找「FilterCategory::Category」而不是「Category」。

任何想到這樣做的最佳方法?

我使用Rails 2.3.8,Ruby 1.8.7。

感謝, 阿米特

回答

1

我不知道,如果你想::Category - 從頂級命名空間越來越範疇而不是將其範圍限定至FilterCategory?

如果您的模型位於app/models目錄中,則不需要明確要求它們 - Rails已經考慮到了這一點。

+0

是的!就是這樣!謝謝trptcolin。你解決了我頭痛的2天。 – AmitA 2010-11-11 04:26:49