哇瘋狂的標題!但這是問題。在努力乾燥我的學校網站管理系統應用程序時,我已經將我的應用程序(FileSet)模塊放在一個位置,並將其放置在一個位置。以前FileSet用於通用網站系統,也用於兒童學習區域系統。除了一個細微差別之外,他們的表現完全一樣。在兒童區域,FileSet文件分爲啓動和正常兩類。啓動文件是教師製作的文件,普通文件是孩子們製作的文件。現在在一般的網站應用程序中,這個區別是不相關的,因此被忽略。這是艱難的部分。我想在這兩種情況下使用相同的控制器和視圖。在運行時,我知道一個文件集屬於一般站點,或屬於這個學習區域,所以我可以說,如果它在學習區域上下文中,我想限制FileSet.find(x).files只使用'正常'命名範圍。如果上下文是普通網站,那麼我們根本就不會使用命名範圍。根據運行時環境約束查找條件
我簡化了上面的信息,但基本上問題是,如何調用FileSet.find(x).files並使文件方法足夠聰明以縮小基於運行時上下文返回的結果?
我已經探索了關聯擴展了一下,但似乎沒有做這項工作。我希望這裏存在一些東西。我試圖拼命地在模型中保留這個邏輯,而沒有關注它的視圖或控制器。默認範圍將工作一種享受,如果他們在運行時:)
期待一些建議:)
乾杯評估,
布蘭頓
感謝亞瑟,那很可能必須的方式。我剛剛意識到我還需要根據控制器條件進行過濾(無論用戶是否在管理員區域),因此我必須調用範圍並通過當前上下文:)感謝您的建議: ) – 2009-06-28 09:43:31