我在使用Ember Data获取Ember.js以达到嵌套资源API端点时遇到问题。这是我的代码:
以下是我正在使用的内容:
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”}}
因此,出于某种原因,即使我在表格中有它,它甚至都不会进入“正文”字段。
非常感谢任何帮助!
当我访问http://localhost:8000/#/users/1/posts
时,它会向/users.json
发送GET API请求。我设置PostsRoute的方式肯定有问题,但我不知道如何修复它。
我已经更新了我的PostsRoute以获取JSON而不使用返回记录的Ember Data,但现在post模板不会呈现。 My PostsRoute现在看起来像这样:
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'
答案 0 :(得分:0)
因此,当您创建/使用'users / post'时,您正在定义帖子所在的命名空间,而不是它在特定模型下面。 AKA,它不会使用相关的用户模型来构建您的网址,它只会使用用户作为帖子的一部分发出请求。
我不完全肯定为什么身体没有附着在帖子上,你确定模特包括身体吗?您确定要发送到createRecord的模型上是否存在body属性?
顺便说一句,需求在路线上没有任何作用,它只适用于控制器。