0

我希望能够在实际保存之前修改/验证数据。

模型

  App.Post = DS.Model.extend({
  title: DS.attr('string'),
  author: DS.attr('string'),
  date: DS.attr('date', { defaultValue: new Date() }),  
  excerpt: DS.attr('string'),
  body: DS.attr('string')
  });

路线

App.PostsNewRoute = Ember.Route.extend({
  model: function() {
    return this.get('store').createRecord('post');
  },
  actions: {
    doneEditing: function() {      
      debugger;          
      this.modelFor('postsNew').save();
      this.transitionTo('posts.index');
    }
  }
});

所以,在.save()我想要验证标题不为空之前的问题。

  1. 我尝试过的所有内容都未定义,或者 [Object object] 没有 .val() 方法。我不知道如何获得模型的值。我怎样才能做到这一点?

  2. 我想到的另一件事。该 defaultValue 是否按预期工作?我想将 Date() 设置为每个新创建的帖子。不知何故date没有被记录,因为它没有显示。

谢谢。

4

1 回答 1

2
App.PostsNewRoute = Ember.Route.extend({
  model: function() {
    return this.get('store').createRecord('post');
  },
  actions: {
    doneEditing: function() {      
      debugger;          
      var model = this.modelFor('postsNew');
      var title =  model.get('title');
      model.save();
      this.transitionTo('posts.index');
    }
  }
});
于 2013-11-13T16:03:49.420 回答