我试图想出一种创建动态模型类型的方法,存储在各自的集合中(对于CMS)。我希望能够定义一个新的“内容类型”,并将其存储在自己的集合中,并使用标准的Sails模型来控制每个模型。
我正在尝试在保存之前和提取之前设置tableName
,但是没有成功。
这样的事情:
(Model) Content:
- id
- createdDate
- contentType
- {n...fields}
(Model) ContentType:
- id
- collection (to which each content object would store)
- name
- fields
- field{n}
- type
- name
- required
- …
我只是不确定如何在sails.js / waterline中实现这一点
答案 0 :(得分:2)
这是帆的可能解决方案> = 0.11.0:https://github.com/sgress454/sails-hook-autoreload
听起来它完全符合您的描述:在不降低/重新提升风帆的情况下重新加载模型。
作为一种基本方法:在您正在编程的管理界面中,添加内容类型并将其写入/ api / models /文件夹。但请拜托,请注意这个安全问题!然后,当创建模型时,此挂钩将检测到该模型并将新模型加载到内存中。改变和删除模型也应该这样,但我还没有对此进行测试,所以我无法告诉你。
答案 1 :(得分:1)
根据Sails GitHub页面,这是不可能的,至少不是我希望这样做的方式:
https://github.com/balderdashy/sails/issues/1160
无赖!如果有人有一个很好的解决方案,请告诉我,我会将其标记为解决方案:)