2013-06-03 51 views
0

我在我的應用程序中有一個視圖(和控制器),將「editingMode」布爾值設置爲true以便將其置於編輯模式更有意義。通過不同的路徑呈現相同的視圖/控制器

編輯時,我想顯示幾個不同的模式(每個都有他們的資源在路由器下)。所以我在確定正確的方法來解決這個問題時遇到了一些問題。

/category  # "normal" view 
/category/edit # category view/controller with the "editMode" set to true 
/category/edit/subcategory # needs to show the categoryController with editMode set to true and then subcategory index above it. 

所以路由器的設置是這樣的:

App.Router.map(function(){ 
    this.resource('category', function(){ 
    this.route('edit'); 
    this.resource('subcategory', function(){}); 
    }); 
}); 

很顯然,我不能讓subcategory嵌套資源edit下。所以我想我的兩個選擇是。

方案一

把主控制器,處理的Category所有功能CategoryIndexController下。但是這需要兩件事。

  1. 編輯模式爲瀏覽類別負載和控制器(這是很容易做到)
  2. 每個模式我想,具有首先加載索引視圖,然後自身加載到這種觀點。這很煩人,看起來不像選項2那麼幹淨。

方案二

把主控制器CategoryController下。這將意味着:

  1. CategoryIndexController真的沒有什麼。
  2. 編輯模式仍然告訴CategoryController來設置它的編輯模式,以真正
  3. 沒有具有與情態動詞(比告訴CategoryController等,它應該是在編輯模式下發生的。

這似乎像清潔劑的選擇給我,但我看不到,使其work。任何想法?

有沒有更好的辦法做到這一點還是更「正確」的方法是什麼?

回答

0

您是否嘗試過使用你r CategoryIndexController而不是CategoryController。默認情況下,CategoryController將重定向到CategoryIndexController,因爲這是一種資源。

相關問題