如何防止EmberJS列表显示已删除的记录?

时间:2016-12-02 21:10:26

标签: ember.js ember-data

我无法让我的EmberJS / Ember-Data项目显示已删除的记录。

我有一条路线:users / route.js

ly

模板:users / template.hbs

export default Ember.Route.extend({
    model: function() {
        console.debug('UserRoute.model');
        return this.store.findAll('user');
    }
});

用户路由:user / route.js

<table class="table table-condensed table-hover" style="table-layout:fixed">
        {{#each model as |user|}}
            <tr {{action "editUser" user}} class={{user.status}}>
                <td>{{user.userid}}</td>
            </tr>
        {{/each}}
    </tbody>
</table>

用户模板生成deleteUser操作。

在ID为59的用户模型数据上使用Ember Inspector

Using Ember Inspector on the user model data with id 59

调用destroyRecord后:

网络交易标题

the network transaction headers

来自后端的响应有效负载

and response payload from backend

现在用户在商店中记录标志

Now the user record flags in the store

但该项目继续显示在用户路线中,允许人们查看并随后再次尝试删除以仅接收错误:

error

我做错了什么!

谢谢, 百里

2 个答案:

答案 0 :(得分:1)

您必须将后端的成功响应状态发送为protected function send_download($file) { if (file_exists($file)) { set_time_limit(0); header('Connection: Keep-Alive'); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); setcookie("fileDownloadToken", "fileDownloadToken", time()+360); // 10 minutes header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); } } ,并显示空白。

如果您使用的是expressJS,则响应将仅为204

遵循rest-api最佳做法 http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

答案 1 :(得分:-1)

我不确定这是否会奏效,但如果我是你,我会尝试:

<NewTag xmlns="testing">
<md:Date>2016-10-30</md:Date>
<md:Creator>USER_1</md:Creator>
<Station ngr="123456" region="North East">
    <SetofValues dataType="Total" period="15 min">
        <Value time="05:30:00">3.509</Value>
        <Value time="05:45:00">2.6</Value>
        <Value time="06:00:00">1.111</Value>
    </SetofValues>
</Station>
</NewTag>

类似的代码可以从官方网站找到: guides.emberjs.com/v1.10.0/models/creating-and-deleting-records/