2014-02-07 35 views
0

我在嘗試{{#鏈接到}模型特定實例的'/ edit'路線,'category/2'將路線設置爲'category/2/edit'。Ember.js - 無法呈現模型實例的「編輯」.hbs。

問題當我使用url'category/2/edit'時,頁面仍然保留在'category/2'頁面上,除了在'category'模型中定義的所有屬性像{{CategoryType例如,}}消失。

這樣做時我沒有收到一個錯誤。

毫不猶豫,這是我的代碼。

router.js ----

this.resource('category', { path: '/category/:category_id' }, function() { 
    this.route('edit'); 
    }); 

category.hbs ----

注:{{類別名稱}}最初確實顯示了當第一次加載頁面。只有當頁面重新加載或者當我嘗試鏈接到「編輯」時,它纔會消失。

Category: {{ProjectName}} 
{{#link-to 'this.edit'}}<button>Edit this</button>{{/link-to}} 

category_route.js ----

注:*我定義:CATEGORY_ID模型*

VpcYeoman.CategoryRoute = Ember.Route.extend({ 
     model: function(params) {  
      return { 
       id: params.category_id 
      }; 
     } 
    }); 

category_model.js ----

備註:我把其他燈具切出來只是這個

VpcYeoman.Category = DS.Model.extend({ 
    CategoryName: DS.attr('string'), 
    workflow: DS.belongsTo('category', { 
     polymorphic: true 
    }), 
    classNameBindings: ['isAdministrator'] 
}); 

VpcYeoman.Category.FIXTURES=[ 
    { 
     id: 2, 
     RecordCategoryID: 2, 
     Name: "Nilport", 
     CategoryName: "Broden Cannon Project" 
    } 
]; 

我很欣賞這個傢伙!

+0

它的工作原理'{{鏈接到「this.edit 「}}'到'{{link-to」編輯「}}或'{{link-to」category.edit「this}}'? – chopper

+0

它們都不起作用,因爲直接在URL中輸入'http:// localhost:9000 /#/ category/2/edit'不會改變頁面。 –

回答

1

包括{{outlet}}在category.hbs

您可能還需要設置編輯路線的模型:

如果你改變
VpcYeoman.CategoryEditRoute = Ember.Route.extend({ 
    model: function(params) {  
     return { 
      id: params.category_id 
     }; 
    } 
});