1

我做了什么 -

模型 -

App.Book = DS.Model.extend({
   book_name: DS.attr('string'),
   edition: DS.attr('string')
});

路由器 -

App.Router.map(function() {
   this.resource('books', function() {
      this.route('new');
   });
});


App.BooksNewRoute = Ember.Route.extend({
    model: function() {
        return this.store.createRecord('book');
    },

    actions: {
       save: function() {
          this.modelFor('newBook').save();
       }
    }
});

现在有人可以帮我..如何保存数据?

我收到类似的错误

TypeError: this.modelFor(...) is undefined
this.modelFor('newBook').save();
4

2 回答 2

0

我认为这应该有效。

App.BooksNewRoute = Ember.Route.extend({
    model: function() {
        return this.store.createRecord('book');
    },

    actions: {
       save: function() {
          this.get('model').save();  
       }
    }
});
于 2013-10-16T14:52:22.043 回答
0

很难说出你的动作的上下文是什么样的。

但一种选择是将要保存的对象作为参数传递,如下所示{{action save myBook}}

然后您的操作可能如下所示:

App.BooksNewRoute = Ember.Route.extend({
    model: function() {
        return this.store.createRecord('book');
    },

    actions: {
       save: function(book) {
          book.save();
       }
    }
});
于 2013-10-16T13:03:28.140 回答