我在使用 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/posts 的 POST 请求
此外,由于某种原因,chrome 检查器显示的请求有效负载显示传递给 API 的表单数据如下所示:
{“用户/帖子”:{“已发布”:false,“created_at”:null,“用户”:“1”}}
但是,我希望数据像这样传递:
{"post": { "body":"some text...", "published":false, "created_at":null, "user_id":"1" } }
因此,出于某种原因,即使我在表单中有它,它甚至也没有传入“body”字段。
任何帮助是极大的赞赏!
更新 1
当我访问时http://localhost:8000/#/users/1/posts
,它会发送一个 GET API 请求到/users.json
。我设置 PostsRoute 的方式一定有问题,但我不确定如何解决。
更新 2
我已经更新了我的 PostsRoute 以获取 JSON,而不使用返回记录的 Ember 数据,但现在帖子模板不呈现。我的 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 # has no method 'slice'