我很新的烬。我有一个基本的烬应用程序与CRUD页面。在使用mongoDB向节点API发出PUT请求后,我无法刷新CRUD页面的视图/模板。ember.js使用node.js更新视图PUT使用node.js/express
当我删除一个模型,页面刷新罚款,但不是当我放。如果我刷新页面,一切都很好,并且工作正常,但是只要点击我的“批准”按钮,我就会立即刷新视图。
有人能指出我该如何在Ember中处理这个问题的正确方向吗?或者我没有从我的API中正确地返回一些东西,而Ember正在做它应该做的事情?
感谢
节点API PUT:
router.put('/:id', function(req, res) {
return Picture.findById(req.params.id, function(err, picture) {
picture.status = req.body.picture.status;
picture.url = req.body.picture.url;
//...and so on
return picture.save(function(err) {
if(!err) { return res.send(picture); }
return res.send('ERROR');
});
});
});
型号:
App.Picture = DS.Model.extend
authorName: DS.attr('string')
pictureName: DS.attr('string')
url: DS.attr('string')
tags: DS.attr('string')
status: DS.attr('string')
路线:
App.AdminRoute = Ember.Route.extend
model: ->
return @store.find 'picture'
actions:
delete: (picture) ->
picture.destroyRecord() # view updates fine
approve: (picture) ->
picture.set('status', 'verified')
picture.save()
注 - 我也越来越在我的控制台此错误我不了解 - 我不记得总是得到它,所以我不知道它有多相关。
Error: No model was found for 'v'
at new Error (native)
at Error.r (http://localhost:3000/javascripts/libs/ember-1.7.0.js:4:992)
at Ember.Object.extend.modelFor (http://localhost:3000/javascripts/libs/ember-data.js:3:4754)
at t.default.i.extend.extractSingle (http://localhost:3000/javascripts/libs/ember-data.js:1:23642)
at y (http://localhost:3000/javascripts/libs/ember-1.7.0.js:4:30411)
at r [as extractSingle] (http://localhost:3000/javascripts/libs/ember-1.7.0.js:4:28863)
at e.default.Ember.Object.extend.extractSave (http://localhost:3000/javascripts/libs/ember-data.js:1:22390)
at e.default.Ember.Object.extend.extractUpdateRecord (http://localhost:3000/javascripts/libs/ember-data.js:1:22097)
at e.default.Ember.Object.extend.extract (http://localhost:3000/javascripts/libs/ember-data.js:1:21661)
at http://localhost:3000/javascripts/libs/ember-data.js:3:9807
对'PUT'的响应有效负载是什么样的? – 2014-10-01 23:11:50
使用Chrome调试器并查看网络部分。点击有问题的请求,然后点击“回复”标签。你应该看到Ember试图解析的JSON响应。我的猜测是它包含一个以“v”开头的元素(也许是根):) – 2014-10-02 22:06:49
太棒了,谢谢你解释史蒂夫!当然,虽然看起来返回的JSON是好的。我更改的属性是“状态”从未验证到验证: {“_id”:“5428abf33e733af2fc0007ff”,“authorName”:“Ben”,“pictureName”:“骄傲的鸡”,“状态”:“已验证” “:null,”url“:”http://benrlodge.github.io/isotopeSearchFilter/img/four.jpg“} – Ben 2014-10-02 23:55:24