1

在 Ember.js 中没有太多关于多态关系的文档。到目前为止,我唯一能找到的就是拉取请求本身。不幸的是,遵循该示例并没有导致应用程序正常工作。这是我的模型的样子:

Whistlr.Event = DS.Model.extend
  eventable: DS.belongsTo 'eventable',
    polymorphic: true

Whistlr.Eventable = DS.Model.extend
  events: DS.hasMany 'event'

Whistlr.Organization = Whistlr.Eventable.extend
  name: DS.attr()

有效载荷如下所示:

{
    "events": [
        {
            "id": 1,
            "eventable_id": 1,
            "eventable_type": "organization"
        }
    ]
}

然后我尝试在我的布局中渲染它:

ul
  each event in controller
    li = event.eventable.name

不幸的是,这会导致一个包含许多空lis 的列表。每个 li 都被渲染,但event.eventable.name返回的是空白。我的方法有问题吗?如何呈现每个事件的名称?

更新:

当我使用 Chrome 的 Ember 扩展程序检查数据时,我看到 eventable 的每个条目都是空的。

4

1 回答 1

2

尝试在有效负载中使用“eventable”键而不是“eventable_id”和“eventableType”而不是“eventable_type”:

{
    "events": [
        {
            "id": 1,
            "eventable": 1,
            "eventableType": "organization"
        }
    ]
}

示例 - http://jsbin.com/EGiZuL/1

于 2013-10-14T23:24:53.460 回答