使用 Ember 数据发出数据处理请求的正确方法是什么?
What is the proper way to make a data process request with Ember data?
我正在制作一个闪存卡应用程序,业务逻辑在后端实现。
以前的版本我使用jquery来获取数据并在服务器和客户端之间进行请求(见下文),
getNextCard() {
const {URL, headers} = this._getParams('/next_card');
return Ember.$.ajax(URL, {
method: "GET",
headers
});
},
submitAnswer(card) {
const {URL, headers} = this._getParams('/process_card');
return Ember.$.ajax(URL, {
method: "POST",
headers,
data: card
});
},
我在当前版本中更改为Ember数据;但是,我很困惑,不知道用 Ember 数据发出这种请求的正确方法是什么。
我是否应该继续使用 Ember.$.ajax
发出数据处理请求(如上面的代码)并仅将 Ember 数据用于 data/model CRUD 目的?
更新
翻阅文档后,我认为getNextCard
方法可以通过自定义适配器来实现。
https://guides.emberjs.com/v2.11.0/models/customizing-adapters/
尝试将其表示为 CRUD 操作。有点另类的思路。
例如,您可以在记录中设置答案,然后 .save()
记录。或者有另一个 answer
模型,并创建一个 answer
并保存它。有点取决于您的应用程序的具体要求。
要检索下一张卡片,只需使用 store.query()
。所以你基本上可以做类似 store.query('card', { next: true })
的事情,并相应地在你的适配器中实现它。
我正在制作一个闪存卡应用程序,业务逻辑在后端实现。
以前的版本我使用jquery来获取数据并在服务器和客户端之间进行请求(见下文),
getNextCard() {
const {URL, headers} = this._getParams('/next_card');
return Ember.$.ajax(URL, {
method: "GET",
headers
});
},
submitAnswer(card) {
const {URL, headers} = this._getParams('/process_card');
return Ember.$.ajax(URL, {
method: "POST",
headers,
data: card
});
},
我在当前版本中更改为Ember数据;但是,我很困惑,不知道用 Ember 数据发出这种请求的正确方法是什么。
我是否应该继续使用 Ember.$.ajax
发出数据处理请求(如上面的代码)并仅将 Ember 数据用于 data/model CRUD 目的?
更新
翻阅文档后,我认为getNextCard
方法可以通过自定义适配器来实现。
https://guides.emberjs.com/v2.11.0/models/customizing-adapters/
尝试将其表示为 CRUD 操作。有点另类的思路。
例如,您可以在记录中设置答案,然后 .save()
记录。或者有另一个 answer
模型,并创建一个 answer
并保存它。有点取决于您的应用程序的具体要求。
要检索下一张卡片,只需使用 store.query()
。所以你基本上可以做类似 store.query('card', { next: true })
的事情,并相应地在你的适配器中实现它。