Ruby on rails 当我在余烬数据中的(有多个)模型中创建或更新(属于)模型和自动同步更新列时
我的模型是这样的:Ruby on rails 当我在余烬数据中的(有多个)模型中创建或更新(属于)模型和自动同步更新列时,ruby-on-rails,ember.js,ember-data,reload,Ruby On Rails,Ember.js,Ember Data,Reload,我的模型是这样的: DEBUG: ------------------------------- DEBUG: Ember : 1.2.0 DEBUG: Ember Data : 1.0.0-beta.4 DEBUG: Handlebars : 1.1.2 DEBUG: jQuery : 1.10.2 DEBUG: ------------------------------- App.OrderRoute = Em.Route.extend model:
DEBUG: -------------------------------
DEBUG: Ember : 1.2.0
DEBUG: Ember Data : 1.0.0-beta.4
DEBUG: Handlebars : 1.1.2
DEBUG: jQuery : 1.10.2
DEBUG: -------------------------------
App.OrderRoute = Em.Route.extend
model: (params)->
@store.find 'order', params.order_id
订单显示路线:
App.Order = DS.Model.extend
lists: DS.hasMany('list', async: true)
total: DS.attr 'number'
App.List = DS.Model.extend
order: DS.belongsTo 'order'
price: DS.attr 'number'
number: DS.attr 'number'
totalPrice: DS.attr 'number'
当我创建如下列表时,我可以在订单显示页面中创建和更新列表:
DEBUG: -------------------------------
DEBUG: Ember : 1.2.0
DEBUG: Ember Data : 1.0.0-beta.4
DEBUG: Handlebars : 1.1.2
DEBUG: jQuery : 1.10.2
DEBUG: -------------------------------
App.OrderRoute = Em.Route.extend
model: (params)->
@store.find 'order', params.order_id
totalPrice是price
*number
但它在服务器中计算,因此create将从服务器返回totalPrice
但是Order
列total
加上所有List
列totalPrice
,所以当我创建List
时,我的服务器将更新Order
total
,但我的web端看不到任何更新的内容。我必须刷新页面才能看到total
更新
所以,我的第一个问题是:
new_list = @store.createRecord('list', {"price": 5, "number": 1})
new_list.save().then (model) =>
@content.get('lists').pushObject model
editList: ->
@content.set('price', @get('price'))
@content.set('number', @get('number'))
@content.save().then( (list)=>
return list
, ()->
alert 'Wrong!'
)
然后当我更新列表时,我创建了什么,代码如下:
DEBUG: -------------------------------
DEBUG: Ember : 1.2.0
DEBUG: Ember Data : 1.0.0-beta.4
DEBUG: Handlebars : 1.1.2
DEBUG: jQuery : 1.10.2
DEBUG: -------------------------------
App.OrderRoute = Em.Route.extend
model: (params)->
@store.find 'order', params.order_id
订单显示模板
How can use ember data to reload the Order total when the List is created?
更新列表时,服务器中不会返回任何内容,我的问题是:
new_list = @store.createRecord('list', {"price": 5, "number": 1})
new_list.save().then (model) =>
@content.get('lists').pushObject model
editList: ->
@content.set('price', @get('price'))
@content.set('number', @get('number'))
@content.save().then( (list)=>
return list
, ()->
alert 'Wrong!'
)
我认为所有问题都可以使用ember数据
reload()
或使用ember
观察
,但我不知道如何使用它们才是最好的方法。还是有一个方便的方法来解决问题
提前感谢。我建议您尝试使用计算属性。这可能会解决这个问题
我想在服务器中计算。如何在这两个模型中使用计算属性?