包括来自sailsjs

时间:2015-07-08 06:35:47

标签: rest sails.js

我有一个风帆模型(“文件夹”):

module.exports =

  attributes: {
    name: type: 'string'
    parent: model: 'folder'
    folders: 
      collection: 'folder'
      via: 'parent'

当我通过REST API检索时,我想要一个看起来像的响应:

[ { name: 'foo', parent: 34, folders: [292, 358] } ]

但是,帆会遗漏“文件夹”属性。

最简单的方式是什么包括在内(这只是一个例子 - 还有更多的东西,但是OTOH我不希望它们总是被包括在内 - 应该是可配置的每个关系)?

1 个答案:

答案 0 :(得分:0)

似乎“toMany”关联被sails提供的默认“toJSON”方法所抑制。

要在对象定义中覆盖对象内部,请覆盖toJSON:

_ = require 'lodash'

attributes: { 
  ...

  toJSON: ()->
    return _.extend {}, this

这将使用“JSON.stringify”提供的默认值,“toMany”关系将作为ID列表发送(如果这是您的适配器为您的模型返回的内容)。