我有一個Ember 1.10應用程序,支持2種模型,學生和家長的API支持,以及每種模型的基本CRUD設置,以及讀/寫消息的能力學生和家長訪問他們各自的/展示頁面時。命名空間,共享模型,在Ember中重複使用控制器
我必須創建一個收件箱,其中的信息以及學生和家長的所有其他數據都可用,並且必須這樣做,但無法更改或添加到api(即,我可以'創建消息端點) 。
基本上,我需要保持學生和家長模型和控制器,因爲他們,但需要能夠從收件箱下的命名空間,像這樣的路線訪問它們:
Students
-inbox
-index
-edit
-show
Parents
-inbox
Inbox
StudentInbox <-- should use StudentsRoute and StudentsController
-index
-show
-edit
ParentInbox
-index
-show
-edit
讓來訪/收件箱/ students/123將使用StudentRoute中定義的模型以及StudentController上定義的動作和屬性。 InboxStudentsShowRoute應同樣有權訪問StudentsShowRoute和控制器。
不是從Student和Parent路由和控制器複製並粘貼現有代碼,而是有辦法將從Inbox命名空間下的模板觸發的操作代理到相關的模型和控制器,並保持傳遞參數的能力。
例如,傳入PARAMS像?unread=true
而InboxStudentsShow路線上會通過這些向StudentsShowRoute和控制器(和氣泡適當地到它的父路線和控制器)或編輯從學生/收件箱學生/ 123 /編輯模板會像在學生/ 123 /編輯模板上一樣工作?
Ember新手,並且知道必須有更好的方式來重用名稱空間中的現有代碼和代理操作。任何建議將不勝感激!
謝謝,丹尼爾。我的意思是通過傳遞查詢參數,因爲我希望在InboxStudentsShow模板上執行的操作能夠更改和過濾在StudentsShow中設置的模型,我希望params如'?unread = true'來基於StudentShow模型上的消息未讀。 我真正想要做什麼,我可以在學生和StudentsShow路線已經做 - 這將需要改變的唯一事情是模板。今天我會給你一個解決方案,讓你知道它是如何發展的。我很感激它幹起了代碼庫。 – Jim
我認爲你需要'Ember.Service'來保持兩條路徑中最重要的屬性同步。我會很乾淨的做法。 –