Javascript Ember.js将静态数据切换到REST服务器

Javascript Ember.js将静态数据切换到REST服务器,javascript,rest,ember.js,Javascript,Rest,Ember.js,提前谢谢你的帮助。我在找方向。目前我有一个余烬网站,在app.js中有所有静态数据。我想将其移动到rest服务器,以便能够更改和添加记录 这是我目前的工作: 我确实设法启动了一个节点rest服务器,但无法使ember应用程序正确连接 我已尝试进行一些更改以查看rest服务器: App.Store = DS.Store.extend({ revision: 12, adapter: DS.RESTAdapter.create({ url: 'http://localhost:3000' }

提前谢谢你的帮助。我在找方向。目前我有一个余烬网站,在app.js中有所有静态数据。我想将其移动到rest服务器,以便能够更改和添加记录

这是我目前的工作:

我确实设法启动了一个节点rest服务器,但无法使ember应用程序正确连接

我已尝试进行一些更改以查看rest服务器:

App.Store = DS.Store.extend({
 revision: 12,
 adapter: DS.RESTAdapter.create({
 url: 'http://localhost:3000'
 })
});

App.IndexRoute = Ember.Route.extend({
 model: function() {
 return this.store.findAll('themes');
 }
});
做出了那样的改变,但它永远无法连接

这是:

下面是我的json的样子

[
{
"themes": [
  {
    "title": "decode",
    "price": 0,
    "free": true,
    "description": "description full",
    "columns": 1,
    "popular": true,
    "purchaseLink": "link",
    "demoLink": "link",
    "image": "images/img.jpg",
    "votes": 0
  }
],
"_id": "531f97bb3b229700002919f3"
 }
]

我花了很多时间试图弄清楚如何做到这一点,但这对我来说是新的。如果您有任何建议,或者知道任何类型的教程,可以告诉我如何获取我所拥有的并将数据放入rest服务器,以便我可以访问该数据并进行更改,非常感谢。

您就快到了-尝试在适配器配置中将键从
url
更改为
host
,并使用
extend
而不是
create

App.Store = DS.Store.extend({
    revision: 12,
    adapter: DS.RESTAdapter.extend({
        host: 'http://localhost:3000'
     });
});

您使用的是什么版本的余烬数据?(如果不是最新的,你能升级吗?ED在过去几个月变得更好了)

在当前版本1.0.0-beta.7中,默认情况下,Ember Data使用RestaAdapter。只需在ember.js文件之后运行ember-data.js文件,就可以完成所有设置。从您的JSBin来看,看起来您根本没有包括余烬数据。也许它在你的实际代码中,但以防万一。。。默认情况下,它不包含在ember.js中,您可以在此处下载

一旦包含了余烬数据,则“全部查找”查询是
this.store.find('themes')
。有关如何与余烬数据记录交互的信息,请参见余烬文档的这一常规部分,并且在10月份之前几乎忽略余烬堆栈溢出的答案。Ember的发展非常快,直到9月份才巩固了他们的API,尤其是Ember的数据无法保证目前可以避免破坏性的更改

如果出于某种原因需要显式设置ApplicationAdapter,那么代码应该如下所示(正如您现在在JSBin中所做的那样)

完全删除DS.FixtureAdapter,否则我认为您是在自找麻烦。同时删除
DS.Store
/
App.Store
,因为
DS.Store
是自动为您创建的,并且
App.Store
不再是一件事


希望有帮助

谢谢。我做了此更改,现在收到“加载路由时出错:错误:找不到“0”的模型”。因此,它似乎已连接到Rest服务器,但没有正确读取数据。你遇到过吗?如果有帮助的话,我也会在节点日志中看到这一点:[id:'themes']findById:NaN null再次感谢您的帮助!是的,您现在的问题是来自REST后端的数据的格式。您可以更改服务器,也可以通过实现
extractArray
和/或
extractSingle
来修改适配器。太棒了!谢谢正在获取其他错误,但看起来rest服务器正在工作。谢谢你的帮助!谢谢你的评论!肯定有助于解决问题!
App.ApplicationAdapter = DS.RESTAdapter.extend({
  host: yourHostGoesHere
});