gpt4 book ai didi

ember.js - 使用 slug 而不是 id

转载 作者:行者123 更新时间:2023-12-02 05:15:06 27 4
gpt4 key购买 nike

我正在尝试从可以接受用户名或 ID 的路由加载 ember-data 用户模型。

我修改了 RESTAdapter find 方法,将 JSON 响应中的 id 传递给 didFindRecord ,但没有任何东西传递给我的观点。似乎 Ember 仍在尝试使用用户名作为模型的 id。

我的路由器看起来像这样:

App.Router = Em.Router.extend({
location: 'history'
, root: Em.Route.extend({
user: Em.Route.extend({
route: '/users/:slug'
, connectOutlets: function(router, context) {
router.get('applicationController').connectOutlet('user', context)
}

, serialize: function(router, context) {
return { slug: context.get('username') || context.get('id') }
}

, deserialize: function(router, params) {
return App.User.find(params.slug)
}
})
})
})

我的 find 方法如下所示:
var CustomAdapter = DS.RESTAdapter.extend({
find: function(store, type, id) {
var root = this.rootForType(type)

this.ajax(this.buildURL(root, id), 'GET', {
success: function(json) {
this.didFindRecord(store, type, json, json[root].id)
}
})
}
})

App.store = DS.Store.create({
revision: 6
, adapter: CustomAdapter.create({ namespace: 'api' })
})

最佳答案

你应该看看这个问题:
https://github.com/emberjs/data/issues/551

关于ember.js - 使用 slug 而不是 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com