使用Ember-Model时遇到了一些问题,试图在两个模型之间建立一种独特的关系。
根据我在S.O.,Ember Forums和#emberjs收到的当前回复。我开始相信没有针对此问题的内置解决方案,我正在重新格式化我的问题以指定所需的内容。
我目前正在使用一整套债务人信息填充模板。所有信息都来自对服务器的多次调用。
第一位是基本债务人信息。这部分很简单,因为我可以使用模型钩子和动态段来检索它。
我的服务器为债务人返回JSON ......这是短版本:
{
"debtor" = {
"debtor_id": 1003,
"debtor_name": Steve,
//... more JSON
"debtor_contact_id": 1345
}
}
债务人的动态段填充了debtor_id
的值,但也注意到这个债务人有debtor_contact_id
。从服务器检索的每个Debtor记录都有一个唯一的debtor_contact_id
。在数据库上,这个值是一个"外键"这将告诉哪个联系人表属于哪个债务人表。
如果没有此键/值对,则无法预测哪个联系人信息与哪个债务人有关。
我目前有"联系人" belongsTo
"债务人",但这还不足以完成这项工作。
什么时候填写"联系人"模型。 Ember-Model需要知道将debtor_contact_id
中的值构建到ajax URL 中作为查询参数才能获得正确的API。
我仍在学习所有这些内容,到目前为止,我还没有完全按照任何教程进行操作,因为我的用例在某个地方需要额外的步骤。
这是我希望看到的预期行为:
如果这是更适合讨论的地方,您还可以在discuss.emberjs.com找到问题。
如果这没有意义,我可以详细说明......谢谢!
答案 0 :(得分:0)
假设您正在使用ember-data,并且需要添加模型属性:
debtor_contact: DS.belongsTo('name_of_the_other_model')
然后,这将为您提供一个承诺,该承诺将根据需要解析为其他模型。它不会立即解决,但模板中的绑定变量将在解析时更新。如果设置正确,将为您制作另一个API调用。
http://emberjs.com/api/data/classes/DS.html#method_belongsTo
如果您因某些原因需要强制解决关系,我在这里给出的答案可能会有所帮助:Ember Unbound & Belongsto