0

新しく作成されたレコードに移行しようとしています。問題なく作成し、入力してサーバーに保存できますがthis.transitionToRoute( 'app', this.get( 'content' ) );、コンソール エラーが発生します。

Uncaught Error: assertion failed: Ember がモデルを認識していない、定義していないコントローラーを検索しようとしています。

これはルートのコントローラーではないため、コントローラー (WEM.AppsCreateAppController) を明示的に定義するか、2 番目のパラメーターとしてモデルを に渡してcontrollerFor、Ember が作成するコントローラーのタイプを認識できるようにする必要があります。

エラーの意味は理解できますが、どこが間違っているのかわかりません。これが(私が思うに)関連するコードです:

WEM.CreateAppController = Ember.ObjectController.extend({
  startEditing: function() {
        console.log( 'start' );
        this.transaction = this.get( 'store' ).transaction();
        this.set( 'content', this.transaction.createRecord( WEM.App, {} ) );
    },

    stopEditing: function() {
        console.log( 'stop' );
        if ( this.transaction ) {
            this.transaction.rollback();
            this.transaction = null;
        }
    },

    save: function() {
        console.log( 'save' );
        this.transaction.commit();
        this.transaction = null;
    },

    transitionAfterSave: function() {
        console.log( 'trans' );
        if ( this.get('content.id' ) ) {
            console.log(this.get( 'content' ));
            this.transitionToRoute( 'app', this.get( 'content' ) );
        }
    }.observes( 'content.id' ),

    cancel: function() {
        console.log( 'cancel' );
        this.stopEditing();
        this.transitionToRoute( 'apps' );
    }
});

これが私のルートです

WEM.Router.map(function(){
    this.resource( 'apps', { path: '/' }, function(){
        this.resource( 'create_app', { path: 'apps/new' } );
        this.resource( 'app', { path: 'app/:app_id'}, function(){
            this.resource( 'settings', { path: 'settings' } );
            this.resource( 'error', { path: 'error/:error_id' } );
        });
    });
});
4

1 に答える 1