2

findQuery(..query..); を使用すると、失敗した (404) を拒否する ember-data を取得できないようです。検索 (..id..); 正常に動作します。

したがって、ルートでは:

App.PostRoute = Ember.Route.extend({

  serialize: function(model, params) {
    return { post_id: model.get('slug') };
  },

  model: function(params){
    var query = {};
    query.slugs = params.post_id;
    return App.Post.findQuery(query).then( 
      function (data) {
        return data.get('firstObject');
      }, 
      function (error) {
        console.log('error');
        throw 'boom!';
      }
    )
  },

  setupController: function(controller, model){
    this.controllerFor('post').set('content', model);
  },

  events: {
    error: function (reason, transition) {
     console.log('Error!');
    }
  }

});

私もこれを試しました:

return App.Post.findQuery(query).then( function (data) {
  return data.get('firstObject');
}).then( null, function (error) {
  console.log('error');
  throw 'boom!';
});

喜びはありません。URL へのリクエストが 404 として返されるのを確認できますが、promise エラーはトリガーされません。私は何が欠けていますか?

4

1 に答える 1