1

それで、

私は Ember アプリに取り組んでおり、紛らわしい問題が発生しています。インデックス ルートで、アプリは find() を実行し、次の配列を返します。

データセット
それぞれの詳細を表示するテンプレートへのリンク
データセット
これは、id で検索するようにリクエストが行われたときにサイドロードされます。(つまり、find(1)、ここで 1 は ID です。)

ID を持つ最初のリクエストは正常に機能し、データセット オブジェクトとそのサイドロードされたデータを返しますが、後続のリクエストは何もしていないようです。最初のデータセットの詳細が読み込まれた後に他のデータセットに移動しようとすると、サーバーは要求を認識しません。ただし、特定のデータセットからインデックスに戻ってから任意のデータセットに戻ると、リクエストが再度送信され (2 回も、これが関連する問題かどうかはわかりません)、機能します。言い換えると:
/# は機能する
/#/1 も機能する (または、最初にアクセスした ID である限り、他の ID も)
/#/1 の場合、/#/2 は機能せず、リクエストは送信されない
/#/1 が続く/# によって /#/2機能し、/#/1 のデータを維持し、/#/2 の新しいデータを取得します。

特定のデータセット オブジェクトにアクセスしたときに、インデックスにハッキーなピットストップをせずに、すべての特定のデータセット オブジェクトを返すにはどうすればよいですか? どんなアドバイスでも大歓迎です、事前に感謝します!

コード:

-app.js

    /****************************
    * 応用
    ************************/
    var App = Em.Application.create();

    App.Router.map(関数() {
        this.resource('application', {path:'/'}, function() {
            this.resource('dataset', {path: '/:dataset_id'}, function() {

            });
        });
    });

    App.ApplicationRoute = Em.Route.extend({
        モデル: 関数() {
            App.Dataset.find(); を返します。
        }
    });

    App.DatasetRoute = Em.Route.extend({
        アクティブ化: 関数() {
            this.modelFor('dataset').reload();
        }
    });

    /****************************
    * モデル
    ************************/
    App.Store = DS.Store.extend({
        アダプタ: DS.RESTAdapter.create({
            URL: 'http://***.***.***.***:5000',
            名前空間: 'api',
            シリアライザー: DS.RESTSerializer.extend({
                primaryKey: 関数 (タイプ) {
                    '_id' を返します。
                }
            }))
        }))
    });

    App.Dataset = DS.Model.extend({
        データセット: DS.attr('string'),
        タイトル: DS.attr('string'),
        ポイント: DS.hasMany('App.Point')
    });

    App.Point = DS.Model.extend({
        データセット: DS.attr('string'),
        dataset_id: DS.attr('string'),
        日付: DS.attr('日付'),
        値: DS.attr('文字列')
    });

4

1 に答える 1