使用ember数据访问服务器端业务逻辑的模式是什么。例如,我的后端API上有一个“markAsFavourite(itemId)”函数。如何通过ember数据调用此函数,并在评估函数后重新加载指定的项目记录?
我可以在控制器中手动制作,但我不认为将API访问分成两个位置是个好主意。
或者有更好的方法来处理这个问题吗?
答案 0 :(得分:0)
我之前从未尝试过这样做,但我想到的第一件事是避免拆分你的API,就是在你自己的自定义滚动命令对象中将命令封装到服务器中,该对象将发布到服务器您的服务器发回适当的响应。也许是这样的:
{“function”:“do_something”,“target_model”:“models”,“target_ids”:[1,2,3,4,5] ......等
我认为你可以用那种方式做很多有趣的事情......
答案 1 :(得分:0)
我认为您应该尝试将项目设置为已标记,然后将其提交到服务器。然后让服务器需要做到需要才能使它成为现实。
App.Item = DS.Model.extend({
favourite: DS.attr('boolean')
});
然后其他完整的API需要检查它,然后更新需要做的事情以使其标记为收藏。