【问题标题】:Ember routes specifying a different root url指定不同根 url 的 Ember 路由
【发布时间】:2013-07-23 17:32:33
【问题描述】:

我的 wamp 服务器上正在运行一个应用程序。目录结构如下所示 Wamp/www/applicationliveshere 但是我在同一目录中有一个 ember 应用程序,它的结构看起来像这样 Wamp/www/emberApp/applicationliveshere 我已经使用 REST 设置了我的 php 项目,以便我可以使用例如访问我的数据。获取 http:localhost/emberApp/videos 会将数据库中的所有视频作为 Json 返回给客户端。但是我的问题出在 Ember 中,我不确定如何设置路由以使用 localhost/emberApp/videos。目前,每次我加载页面时,控制器都使用 localhost/videos 并返回 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/....

有什么想法吗?

提前致谢。

【问题讨论】:

  • 使用 ember RC.6,您可以使用最新的 ember 数据 (0.13),不需要定义 revision: 12

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


【解决方案1】:

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

例如:

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

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

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

希望对你有帮助。

【讨论】:

  • 感谢您的回复。已经实现了它,但不幸的是调试器仍然显示它正在寻找地址中没有 emberApp 的localhost/videos。我一定错过了别的东西。有什么想法可以让我找到有关此主题的更多文档吗?
  • @LindaKeating,刚刚编辑了我的答案,现在请看一下,这应该可以工作
  • 辛苦了。非常感谢。正是我想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多