2013-10-23 34 views
0

我正在研究一個Ember.js應用程序,其中包含多個具有依賴關係的模型。例如,對於Client建立模型時,我包括屬性portfolios : DS.hasMany('Portfolio')用戶流程幫助

當用戶進入應用程序,他們提出了一個選項,立即在路線portfolio.add添加一個新的投資組合,而其他表單字段中他們提出了下拉選擇他們創建投資組合的客戶,以及通過{{#link-to client.add}}創建新客戶的選項。這不是用戶可以到達路由客戶端的唯一方式.add

我希望Ember記住用戶通過portfolio.add訪問client.add路由,更改提交按鈕的文本以表明它們將在保存後返回到portfolio.add,並且在promise成功返回成功之後轉換回portfolio.add,它會在下拉列表中自動選擇新創建的客戶端。

到目前爲止,我認爲我會使用這個答案:How can I get My previous route?來檢查以前的路線,並可能創建一個類似的mixin用於存儲創建的客戶端記錄的引用。

這是一個破解,我寧願直接傳遞相關的對象/屬性。有沒有更好的辦法?

回答

0

我結束了推進我灰燼建立到加那利和包括Ember.FEATURES["query-params"] = true;

然後我轉移到了需要回路由上完成,並在原有航線的模式,我加入this.transitionTo('originalroute',{routedFrom:null});清除視圖時增加了一個routedFrom參數參數routedFrom

+0

雖然使用查詢參數可能是最好的解決方案,但我並沒有將自己的答案標記爲正確,只要查詢參數僅在canary build via flag中可用。有關於在下一個版本中包含它的討論,如果發生這種情況,我會在這裏重新討論。 – runspired