router.js 有
Router.map(function() {
this.route('concepts');
this.route('create-concept', { path: '/concepts/new' });
this.route('concept', { path: '/concepts/:id' });
});
controllers / create-concept.js 有
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
create: function() {
var concept = this.store.createRecord('concept', {
description: this.get('description').trim()
});
this.set('description', '');
concept.save();
}
}
});
templates / create-concept.js 有
{{textarea value="description"}}
{{action 'create'}}
routes / create-concept.js 只是默认
import Ember from 'ember';
export default Ember.Route.extend({
});
但是,当我在浏览器中转到网址/concepts/new
时,我只是收到了错误
Uncaught TypeError: Cannot read property 'getAttribute' of undefined
在我的浏览器中。我不知道这个一般错误的原因是什么,关于这个的文档似乎相当稀疏......
编辑 - 当我访问/概念并点击指向/ concepts / new的链接时,显示
Preparing to transition from 'concepts' to ' create-concept'
Transitioned into 'create-concept'
所以看起来确实找到了正确的路线
由于某些原因很难复制和粘贴它,这里是部分堆栈跟踪的屏幕截图:
编辑2 - Minimal code demonstrating problem
答案 0 :(得分:2)
我认为你真的不想value="description"
,你可能意味着value=description
一个将文字字符串description
分配给value属性,另一个将属性description
绑定到value属性。
你的行动需要真正贴在某事上! div,按钮,锚标签。
<div {{action 'create'}}>blah</div>
<button {{action 'create'}}>blah</button>