什么都没有处理动作' addPost'在ember.js

时间:2017-04-03 11:45:46

标签: javascript ember.js

我正在创建一个具有描述并在时间戳上创建的帖子。但是当我 提交表格我收到错误

没有任何事情可以解决行动' 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;

无法弄清楚错误是什么。

1 个答案:

答案 0 :(得分:0)

我们应该为模板hbs和控制器js文件使用相同的文件名。假设您的模板是app/templates/login.hbs,那么相应的控制器将是app/controllers/login.js

如果它是嵌套的,那么它也应该保持相同的层次结构 app/templates/dashboard/user.hbs对应的控制器为app/controllers/dashboard/user.js

在您的情况下,只需确保控制器文件名相同并遵循相同的层次结构,如上所述。