gpt4 book ai didi

javascript - 如何在 JS-Data 资源上创建嵌套的自定义类操作?

转载 作者:行者123 更新时间:2023-12-03 06:09:17 24 4
gpt4 key购买 nike

我有一个嵌套的 JS-Data 对象(即具有父关系)

(注意所有代码都是 CoffeeScript )

Follow = DS.defineResource
name: "follow"
endpoint: "follows"
relations:
belongsTo:
post:
localField: "post"
localKey: "post_id"
parent: true
actions:
currentUsersFollow:
method: "GET"
pathname: "current_users_follow"

我需要调用自定义操作 currentUsersFollow,但我不想在 Follow 实例上调用它。它是一个类似于 /index 的类方法,并且没有关联的实例。但是路径仍然需要嵌套在父对象中。

Follow.currentUsersFollow({post_id: 213423})
# => http://ourapp.com/api/v1/follows/current_users_follow
#
# I would like this to generate:
# http://ourapp.com/api/v1/posts/213423/follows/current_users_follow
#
# i.e. it's missing the nesting: /posts/213423

这可以通过.findAll

实现

现在,如果您使用 .findAll() 执行此操作,那么只要您传递相关的父 ID,它就会生成嵌套路由:

Follow.findAll({post_id: 213423})
# => http://ourapp.com/api/posts/213423/follows

正如您所看到的,该帖子已正确指定,并且它会发送到通用端点。

如何在没有实例的情况下创建自定义嵌套操作?

简而言之,我想为我的 JS-Data 资源创建一个自定义操作,该资源嵌套在父级中,但不会在子级实例上调用。

这可能吗?

最佳答案

定义您的操作:

actions: {
currentUsersFollow: {
method: 'GET',
endpoint: 'posts',
pathname: 'current_users_follow'
}
}

然后这样调用它:

Follow.currentUsersFollow(213423)

它应该产生

GET /posts/213423/current_users_follow

关于javascript - 如何在 JS-Data 资源上创建嵌套的自定义类操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39396508/

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