0

我已经使用 RESTAdapter 设置了 Ember,以便通过 RESTfull API 检索我的模型。

App.Store = DS.Store.extend({
    revision: 12,
    adapter: DS.RESTAdapter.create({ 
    url : 'http://127.0.0.1:5000',
    // In order to allow cross domain requests
    ajax: function(url, type, hash) {
        jQuery.ajax(url)

        },
    }),
});

App.File = DS.Model.extend({
    content: DS.attr('string'),
    name: DS.attr('string'),
});

在我的路线中,我想要一个通过 REST 调用的特定文件并将其传递给我的模板。

 App.FilesRoute = Ember.Route.extend({
        model: function() {
            var file = App.File.find("49898c14b49eab87597d3195b500107e")
            console.log(file)
            return file  
        }
    });

但是当我返回文件时,Ember 为我提供了一个空白页。当我返回一个随机字符串时,我的模板将加载。

Chromiums 开发人员工具的 Network 选项卡向我显示了调用的响应http://127.0.0.1:5000/files/49898c14b49eab87597d3195b500107e{"file": {"content": null, "name": "Titl"}} 这是我预期的响应。但是 Ember 将它包装在一个复杂的对象中: 在此处输入图像描述

我究竟做错了什么?

4

1 回答 1

1

The "complex" object is a DS.Model instance. In your case, it should be a App.File.

You can access the retrieved value by calling .get('name') on this object for example.

Also, App.FilesRoute expects you to return an array, not a single instance.

于 2013-04-15T16:12:53.893 回答