指定不同根URL的Ember路由

时间:2013-07-24 09:55:05

标签: javascript rest ember.js routes ember-data

我在我的wamp服务器上运行了一个应用程序。目录结构如下所示 Wamp / www / applicationliveshere然而,我在同一目录中有一个ember应用程序,它的结构看起来像这个Wamp / www / emberApp / applicationliveshere 我使用REST设置我的php项目,以便我可以使用例如访问我的数据。获取http:localhost / emberApp / videos会将数据库中的所有视频作为Json返回给客户端。但是我的问题是在Ember我不确定如何设置我的路由以使用localhost / emberApp / videos。目前,每次加载页面时,控制器都使用localhost / videos并返回a 404 Not found。我正在使用'ember-data.js'来处理我的模型。我创建了一个商店如下

Videos.Store = DS.Store.extend({ revision: 12, url: "http://localhost/emberApp/"})

我的视频路由定义如下

Videos.VideosRoute = Ember.Route.extend({ model: function(){
return Videos.Video.find();
}
});

我的路径设置如下

Videos.Router.map(function({
this.resource('videos', {path: '/'});
});

所以澄清我希望我的所有路线都以http://localhost/emberApp/.....开头 但目前我有http://localhost/....

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

对于您需要的行为,您还应该在商店中的namespace之外的适配器上定义url

例如:

App.Adapter = DS.RESTAdapter.extend({
  namespace: 'emberApp'
});

Videos.Store = DS.Store.extend({
  revision: 12, 
  url: "http://localhost/",
  adapter: App.Adapter
});

这将导致http://localhost/emberApp/作为您的基本网址。 还可以查看here了解相关信息。

希望它有所帮助。