2013-12-12 3 views
0

Я пытаюсь сделать римейк списка дел с другим именем под названием «newpermitcategory». Мой код, похоже, соответствует примерам на веб-сайте emberjs, но я все еще получаю эту ошибку, когда пытаюсь создать новый тип разрешения (todo).Emberjs TODO-список. не может создать новый «todo»

Uncaught TypeError: Cannot call method 'trim' of undefined 

** Я наметил множественное число newpermitcategory как newpermitcategorys специально.

Это код

<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({ 

}); 

EDIT: Я первоначально сделал много ошибок капитализации. Соглашение об именах настолько важны в Emberjs

ответ

1

ваш маршрут и контроллер имена неправильны

NewpermitcategorysController

NewpermitcategorysRoute

NewpermitcategoryView

и ваше имя действия не соответствует

createPermitcategory и createPermitCategory

и поле newPermittype не существует, вы устанавливаете входное значение постоянной "newPermittype" не поле newPermittype

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

+0

Вы правильно. Эти ошибки были исправлены. Теперь отображается ввод, за исключением случаев, когда я ввожу новый тип разрешения и нажимаю Enter, он говорит: «Неиспользуемая ошибка: ничего не обрабатывается событием« createPermitcategory ». Я обновил вопрос. –

+1

ArrayConroller отсутствует t – Kingpin2k

+0

Хороший глаз. Эта же ошибка все еще отображается. –

Смежные вопросы