Javascript 如何从hasMany in-ember数据中移除对象
我有一个播放列表和一个曲目模型,Javascript 如何从hasMany in-ember数据中移除对象,javascript,ember.js,ember-data,Javascript,Ember.js,Ember Data,我有一个播放列表和一个曲目模型,播放列表有许多曲目。 在添加下一次搜索的结果之前,我正在尝试从与给定控制器关联的模型中删除所有轨迹 Pg.SearchController = Ember.ObjectController.extend queryTerm: '' actions: search: -> apiKey = "__API_KEY__" queryTerm = @get('queryTerm') @set 'model.titl
播放列表
有许多
曲目
。
在添加下一次搜索的结果之前,我正在尝试从与给定控制器关联的模型中删除所有轨迹
Pg.SearchController = Ember.ObjectController.extend
queryTerm: ''
actions:
search: ->
apiKey = "__API_KEY__"
queryTerm = @get('queryTerm')
@set 'model.title', "Search: #{queryTerm}"
$.ajax "https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q=#{queryTerm}&key=#{apiKey}"
.then (response) =>
model = @get('model')
# Remove all tracks from playlist here.
model.get('tracks').forEach (track) =>
model.get('tracks').removeObject track
for video in response.items
track = @store.createRecord 'track',
identifier: video['id']['videoId']
title: video['snippet']['title']
model.get('tracks').pushObject track
我尝试过几种方法,但都会在关系中留下一些记录。如何从hasMany
关系中删除所有记录,而不破坏对象本身
以下是我尝试过的:
将removeObject
与forEach
一起使用:
model.get('tracks').forEach (track) =>
model.get('tracks').removeObject track
用于..中:
for track in model.get('tracks')
model.get('tracks').removeObject track
直接在关系上使用removeObjects
:
tracks = model.get('tracks.content')
model.get('tracks').removeObjects tracks
我想你可以只做model.set('tracks',null);然后model.save()@borisrorsvort我也尝试过,但出现了一个错误:无法在对象上设置只读属性“tracks”。我也试过model.set('tracks',[]);但是运气不好。也许你可以从回答中得到启发(每一次关系),抱歉,我要重新提出你的问题,但我有完全相同的问题。你能想出解决这个问题的办法吗?