我正在制作一个闪存卡应用程序,并且业务逻辑在后端中实现。

我以前的版本使用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数据用于数据/模型CRUD?

更新资料

在阅读了文档之后,我认为getNextCard方法可以通过自定义适配器来完成。

https://guides.emberjs.com/v2.11.0/models/customizing-adapters/

最佳答案

尝试将其表示为CRUD操作。这是另一种思维方式。

因此,您可以例如在记录上设置答案,然后仅在记录上.save()。或者使用另一个answer模型,然后创建一个answer并保存。取决于您的应用程序的特定要求。

要检索下一张卡,只需使用store.query()。这样您基本上可以执行类似store.query('card', { next: true })的操作,并在适配器中相应地实现此功能。

10-06 15:46
查看更多