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