In my app, I have two models Person
and Room
. I also have two controllers, PersonController
and RoomController
. I have added no custom routes, and I've overridden none of the boilerplate controller actions.
When I POST
to, for example, /room/5/person
, a person record is created and associated with room/5
as expected - great. However, the JSON returned in the response to this POST
contains the Room and all People associated with the room, side-loaded in an array. I expected that Sails would return only the person created (or, at most, the newly created person and the room, if blueprints.populate: true
).
What changes to I need to make to so that Sails returns only the Person created as a result of the POST
?
Here's is my current code:
/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'
}
};