2013-12-12 158 views
0

我正在嘗試使用名爲'newpermitcategory'的不同名稱重做待辦事項列表。我的代碼似乎與emberjs網站上的示例相匹配,但當我嘗試製作新的permittype(todo)時,仍然收到此錯誤。Emberjs待辦事項列表。無法創建新的'待辦事項'

Uncaught TypeError: Cannot call method 'trim' of undefined 

**我故意將新許可類別的複數拼寫爲新許可範疇。

這是代碼

<h2>New Permit Category</h2> 
    {{input type="text" id="newpermitcategory" placeholder="Create a category and press enter" value=newPermittype action="createPermitcategory"}} 
<tr id="newpermitcategory"> 
{{#each}} 
    <td> 
    <input type="checkbox" class="toggle"> 
    <label>{{permittype}}</label> lol 
    </td> 
{{/each}} 
</tr> 

VpcYeoman.NewpermitcategorysController = Ember.ArrayController.extend({ 
    actions: { 
    createPermitcategory: function() { 
     var permittype = this.get('newPermittype'); 
     if (!permittype.trim()) {return;} 

     var newpermitcategory = this.store.createRecord('newpermitcategory', { 
     permittype: permittype 
     }); 

     this.set('newPermittype', ''); 

     newpermitcategory.save(); 
    } 
    } 
}); 

VpcYeoman.Newpermitcategory = DS.Model.extend({ 
    permittype: DS.attr('string'), 
    isCompleted: DS.attr('boolean') 
}); 

VpcYeoman.Newpermitcategory.FIXTURES = [ 
    { 
    id: 1, 
    permittype:'Building' 
    }, 
    { 
    id: 2, 
    permitType:'Electrical' 
    }, 
    { 
    id: 3, 
    permittype:'Zoning' 
    }, 
    { 
    id: 4, 
    permittype:'Fire' 
    } 
]; 


VpcYeoman.Router.map(function() { 
    this.resource('newpermitcategorys', { path: '/newpermitcategorys' }); 
    this.resource('newpermitcategory', { path: '/newpermitcategory/:newpermitcategory_id' }); 
}); 

VpcYeoman.NewpermitcategoryView = Ember.View.extend({ 
    templateName: 'newpermitcategory' 
}); 

VpcYeoman.NewpermitcategorysView = Ember.View.extend({ 
    templateName: 'newpermitcategorys' 
}); 


VpcYeoman.NewpermitcategorysRoute = Ember.Route.extend({ 
    model: function() { 
    return this.store.find('newpermitcategory'); 
    } 
}); 

VpcYeoman.Newpermitcategoryroute = Ember.Route.extend({ 

}); 

編輯:本來我做了很多的資本錯誤。命名約定在Emberjs如此重要

回答

1

路線和控制器名稱不正確

NewpermitcategorysController

NewpermitcategorysRoute

NewpermitcategoryView

和你的動作名稱不符

createPermitcategory並創建PermitCategory

和現場newPermittype不存在,你正在輸入值設定爲恆定"newPermittype"不是字段newPermittype

http://emberjs.jsbin.com/OxIDiVU/15/edit

+0

你是正確的。這些錯誤已得到修復。現在輸入顯示,除了當我輸入一個新的permittype並按回車時,它表示'未捕獲錯誤:沒有處理事件'createPermitcategory'。'我已經更新了這個問題。 –

+1

ArrayConroller缺少t – Kingpin2k

+0

好眼睛。仍然顯示相同的錯誤。 –