我正在创建一个具有描述并在时间戳上创建的帖子。但是当我 提交表格我收到错误
没有任何事情可以解决行动' addPost'。如果您确实处理了该操作,则可以通过从控制器中的操作处理程序返回true来导致此错误,从而导致操作冒泡。 错误
这是我的控制器
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
addPost: function(){
var description = this.get('description');
//Create New Post
var newPost = this.store.createRecord('post', {
description: description,
});
// Save to Database
newPost.save();
// Clear Form
this.setProperties({
description: '',
});
}
}
});
这是我的模特
import Model from 'ember-pouch/model';
import DS from 'ember-data';
const {
attr,
hasMany,
belongsTo
} = DS;
export default Model.extend({
description: DS.attr('string'),
createdAt: DS.attr('date', {
defaultValue() { return new Date(); }
})
});
这是视图
<form>
<lable>Enter the post</lable>
{{input type="text" value=title }}
<button {{action 'addPost'}} >post</button>
</form>
这是router.js
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
this.route('posts', function() {
this.route('new');
});
});
export default Router;
无法弄清楚错误是什么。
答案 0 :(得分:0)
我们应该为模板hbs和控制器js文件使用相同的文件名。假设您的模板是app/templates/login.hbs
,那么相应的控制器将是app/controllers/login.js
。
如果它是嵌套的,那么它也应该保持相同的层次结构
app/templates/dashboard/user.hbs
对应的控制器为app/controllers/dashboard/user.js
在您的情况下,只需确保控制器文件名相同并遵循相同的层次结构,如上所述。