Emberjs:处理表单提交,参数,访问模型

时间:2014-07-16 09:06:13

标签: javascript ember.js ember-cli

(警告:新手)围绕这一块走了一圈,我看到的每个例子都是不同的(对我来说没有用)

var InitiativesNewRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.createRecord('initiative', params);
  },

  actions: {
    submit: function() {
      var initiative = this.get('model');
      initiative.save().then(function(model) {
        this.transitionTo('initiatives.show', initiative);
      });
    }
  }
});

保存barfs作为主动权是未定义的,但我看到在ember chrome插件中创建的记录。所以它看起来像在model中创建记录,但在动作中获取它不会。

还尝试this example

submit: function(initiative) {
  initiative.save().then(function(model) {
    this.transitionTo('initiatives.show', initiative);
  });
}

没有将params传递给上面的createRecord,我得到了同样的错误。我该怎么做?

使用ember-cli 0.0.39和easy-form,使用夹具适配器。

1 个答案:

答案 0 :(得分:0)

在#emberjs上得到了一些帮助,并设法让它像这样工作:

var InitiativesNewRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.createRecord('initiative', params);
  },

  actions: {
    submit: function() {
      var _this = this;
      var initiative = this.get('controller.model');
      initiative.save().then(function(model) {
        _this.transitionTo('initiatives.show', model.get('id'));
      });
    }
  }
});