如何用ember-data实现这种关系

时间:2013-08-10 13:23:42

标签: ember.js ember-data

我正在研究ember.js项目,该项目由Rails 4 API支持。

现在我有这种关系,我不确定如何用ember-data实现它。

我有两个模型:用户和事件

用户可以创建事件,因此创建者和事件之间存在1-n关系 用户可以参加活动,因此参加者和活动之间存在m-n关系

创建者 - 事件关系将由API作为creator_id返回给事件,并作为创建者的event_ids返回。

参与者 - 事件关系将由API返回,作为事件的attendee_ids和与会者的attend_event_ids。

现在,ember-data通过在关系的两端添加hasMany关系来支持多对多关系。

# App.User
events: DS.hasMany('App.Event')
attended_events: DS.hasMany('App.Event')

# App.Event
creator: DS.belongsTo('App.User')
attendees: DS.hasMany('App.User')

我的问题是,如何告诉参与者与有人参加活动和创作者相关的事件与事件有关?

1 个答案:

答案 0 :(得分:0)

好的,没关系,我自己想出来了,这似乎有效:

# App.User
events: DS.hasMany('App.Event', as: 'creator')
attended_events: DS.hasMany('App.Event', as: 'attendees')

# App.Event
creator: DS.belongsTo('App.User')
attendees: DS.hasMany('App.User')