[英]model.save() timing issue in ember-data with belongsTo relationship
我有兩個模型( source
和problem
),並且通過UI觸發click
時,我正在保存一個與另一個實例相關的實例。
App.SourcesController = Ember.ArrayController.extend
actions:
addProblem: (source) ->
problem = @store.createRecord('problem',
detectedOn: new Date(),
source: source
)
problem.save().then (problem) ->
# handle success
,(e) ->
# handle error
false
我確定在addProblem
動作中存在source
,但是當客戶端實際序列化模型並發送請求時,存在detectedOn
屬性,但是無法找到source_id
。
現在,這是有趣的部分。
當我將保存代碼包裝在setTimeout
, detectedOn
和source_id
都將發送到服務器:
App.SourcesController = Ember.ArrayController.extend
actions:
addProblem: (source) ->
problem = @store.createRecord('problem',
detectedOn: new Date(),
source: source
)
setTimeout ->
problem.save().then (problem) ->
# handle success
,(e) ->
# handle error
, 1
false
在我看來,這是Ember周期內的計時問題,還是我錯過了一些東西?
我如何擺脫setTimeout
? 我不應該在每次保存時都這樣做。
我通過在解決承諾時手動設置逆向關系來解決此問題,以下內容應為您工作:
App.SourcesController = Ember.ArrayController.extend
actions:
addProblem: (source) ->
problem = @store.createRecord('problem',
detectedOn: new Date(),
source: source
)
problem.save().then (problem) ->
source.get('problems').addObject(problem)
,(e) ->
# handle error
false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.