0

私のアプリには、 と の 2 つのモデルがPersonありRoomます。また、2 つのコントローラーPersonControllerRoomController. カスタム ルートを追加しておらず、ボイラープレート コントローラー アクションをオーバーライドしていません。

POSTたとえば、を/room/5/person実行すると、人物レコードが作成され、期待どおりに関連付けられroom/5ます。すばらしいです。ただし、これに対する応答で返される JSON にPOSTは、ルームと、ルームに関連付けられたすべての人が配列にサイドロードされて含まれています。私は、Sails が作成された人物 (または、せいぜい、新しく作成された人物とルームの場合blueprints.populate: true) のみを返すと予想していました。

Sails が の結果として作成された Person のみを返すようにするには、どのような変更を加える必要がありPOSTますか?

これが私の現在のコードです:

/api/models/Room.js

// Room.js

module.exports = {

    autosubscribe: ['update', 'add:people'],
    attributes: {
        name: 'string',

        // Has-many association
        // A room can have many people
        people: {
            collection: 'person',
            via: 'room'
        }
    }
};

/api/models/Person.js

module.exports = {

    autosubscribe: ['update'],
    attributes: {
        name: 'string',

        // Belongs-to association
        // A person can belong to only one room
        room: {
            model: 'room'
        }
    }
};

/api/controllers/RoomController.js

module.exports = {

};

/api/controllers/PersonController.js

module.exports = {

};

/config/routes.js

module.exports.routes = {

    '/': {
        view: 'homepage'
    }
};
4

1 に答える 1