1
Ember.js中关于多态关系的文档并不多。到目前为止,我唯一能找到的就是pull request本身。不幸的是,遵循这个例子并没有导致一个工作的应用程序。这里是我的模型是什么样子: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
不幸的是,这导致列表中有许多空的li
s。每个li都被渲染,但是event.eventable.name
已经空白。我的方法有什么问题吗?我怎样才能呈现每个事件的名称?
UPDATE:
当我检查与Chrome的灰烬扩展中的数据,我看到,对于eventable各条目为空。
它抛出这个错误:'错误:断言失败:加载路由时出错:TypeError:工厂未定义' – nullnullnull
最新版本不会引发错误。 –
这很可能。我实际上正在使用Canary构建,而且我仍然遇到这个错误,但我怀疑这是因为我没有正确处理别名。我打开了关于如何用Ember-Data 1.0Beta进行别名的[第二个问题](http://stackoverflow.com/questions/19371465/setting-an-polymorphic-alias-with-ember-data-1-0beta)。 – nullnullnull