我的User
模型有很多Reminders
。
首次创建User
时,我希望嵌入reminders
。更新后,我不希望它的提醒被嵌入。我怎么能这样做?
我的策略是创建一个new-user-serializer
和
DS.EmbeddedRecordsMixin
reminders: { embedded: 'always' }
并在我的UserAdapter
createRecord
方法中使用它,但我无法使其正常工作。
答案 0 :(得分:0)
它并不理想,但你可以做到 -
`import DS from 'ember-data'`
`import ApplicationSerializer from './application'`
UserSerializer = ApplicationSerializer.extend DS.EmbeddedRecordsMixin,
attrs:
reminders: {}
serialize: (snapshot, options) ->
if snapshot.attr('embedRemindersFlag')
@attrs.reminders.embedded = 'always'
@_super(snapshot, options)
`export default UserSerializer`
embedRemindersFlag
必须是模型的属性,因此快照会将其选中,但我已单独实施transient
选项,以防止将属性发送到服务器。
embedRemindersFlag: DS.attr 'string', {defaultValue: false, transient: true}