Ember-data解析错误的API端点

时间:2013-11-14 17:26:51

标签: javascript ember.js ember-data ember-app-kit

我在使用Ember Data获取Ember.js以达到嵌套资源API端点时遇到问题。这是我的代码:

  

https://gist.github.com/feliksg/7470254

以下是我正在使用的内容:

DEBUG: ------------------------------- ember.js:3224
DEBUG: Ember      : 1.2.0-beta.3 ember.js:3224
DEBUG: Ember Data : 1.0.0-beta.2 ember.js:3224
DEBUG: Handlebars : 1.0.0 ember.js:3224
DEBUG: jQuery     : 2.0.3 ember.js:3224
DEBUG: -------------------------------

I'm also using Ember Appkit as the base for this project.

基本上问题是当我尝试提交新帖子时,ember数据会执行以下操作:

  

对/ user / posts的POST请求

而不是

  

对/ users / 1 /帖子的POST请求

此外,由于某些原因,chrome检查器显示的请求有效负载显示传递给API的表单数据如下所示:

  

{“user / post”:{“已发布”:false,“created_at”:null,“user”:“1”}}

但是,我希望数据传递方式如下:

  

{“post”:{“body”:“some text ...”,“published”:false,“created_at”:null,“user_id”:“1”}}

因此,出于某种原因,即使我在表格中有它,它甚至都不会进入“正文”字段。

非常感谢任何帮助!


<小时/>
更新1

当我访问http://localhost:8000/#/users/1/posts时,它会向/users.json发送GET API请求。我设置PostsRou​​te的方式肯定有问题,但我不知道如何修复它。


<小时/>
更新2

我已经更新了我的PostsRou​​te以获取JSON而不使用返回记录的Ember Data,但现在post模板不会呈现。 My PostsRou​​te现在看起来像这样:

PostsRoute = Ember.Route.extend
  model: (params) ->
    user = @modelFor('user')
    userId = user.get('id')
    return $.getJSON('http://localhost:5000/api/v1/users/' + userId + '/posts.json')

我也收到以下错误:

  

加载路径时出错:TypeError:Object#没有方法'slice'

1 个答案:

答案 0 :(得分:0)

因此,当您创建/使用'users / post'时,您正在定义帖子所在的命名空间,而不是它在特定模型下面。 AKA,它不会使用相关的用户模型来构建您的网址,它只会使用用户作为帖子的一部分发出请求。

我不完全肯定为什么身体没有附着在帖子上,你确定模特包括身体吗?您确定要发送到createRecord的模型上是否存在body属性?

顺便说一句,需求在路线上没有任何作用,它只适用于控制器。