0

我正在尝试使用基于https://github.com/fernandogmar/Emberjs-RequireJS的 AMD 方法(是的,我知道@tomdale 对 AMD 的看法)构建一个简单的 ember 应用程序(文件浏览器),这似乎工作得很好,除了尝试使用此 DS.Model 时,我收到了一个奇怪的请求 URL:

App.File = DS.Model.extend({
    primaryKey: "URI",

    url: "file",

    URI: DS.attr("string")
});

调用:

window.App.DataStore.find(File, encodeURIComponent("/"));

(不相关的问题:有没有办法使用 get() 从路由器或控制器中获取数据存储?Router.get("DataStore")返回未定义。)

使用标准未修改的 RESTAdapter。产生以下请求 URL:

http://127.0.0.1:8020/model)s/%2F

我不知道是什么原因造成的。推测末尾的“s”是适配器试图使模型名称复数。我不知道paren是从哪里来的。

Ember 版本:v1.0.0-pre.2-123-ga352c48

Ember-data 版本:昨天从https://github.com/emberjs/data/downloads下载的最新版本(在任何地方都找不到版本号)。

这是否与 AMD 方法有关,或者这是一个不相关的问题,最重要的是:我该如何解决?

谢谢你的时间。

4

1 回答 1

0

我发现使用File.reopenClass()设置 url 属性而不是设置它extend()确实可以解决问题。这并不能解释为什么生成模型名的默认魔法返回model)s,但至少它现在解决了我的问题。

于 2013-01-05T13:34:19.350 回答