私のアプリには、 と の 2 つのモデルがPerson
ありRoom
ます。また、2 つのコントローラーPersonController
とRoomController
. カスタム ルートを追加しておらず、ボイラープレート コントローラー アクションをオーバーライドしていません。
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'
}
};