gpt4 book ai didi

javascript - 脊柱 JS 模型 : How does Spine handle a server response containing records for a related model?

转载 作者:行者123 更新时间:2023-11-30 06:43:13 26 4
gpt4 key购买 nike

我才刚刚开始使用 Spine.js,它对用户来说真的很有趣。有谁知道 Spine 是否处理来自服务器响应的相关对象?下面的例子。如果是 - 很好 - 如果不是?那么关于如何做到这一点的任何建议都会很棒!谢谢

模型

class User extends Spine.Model
@configure 'User', 'Name'
@hasMany 'friends', 'models/Friend'
@extend Spine.Model.Ajax

class Friend extends Spine.Model
@configure 'Friend', 'User_id'
@belongsTo 'user', 'model/User'
@extend @Local

服务器对用户更新的响应:
{"user":{"name":"John Brilliant", "friends":[{"user_id":1},{"user_id":2}] }}

那么,当 Spine 收到这个响应时,它是否应该因为相关模型而更新用户和用户好友?

最佳答案

查看 Spine 附带的 relation.js。 http://spinejs.com/docs/relations

但是我注意到嵌套资源存在一些问题(使用/users/1/friends 等创建和更新 friend )。检查http://groups.google.com/group/spinejs/browse_thread/thread/6a5327cdb8afdc69?tvc=2了解更多信息。

如果用户始终是当前登录的用户,我建议不要在两者之间创建关系。只有您的服务器需要了解多个用户。您的客户端应用程序应假定所有操作/模型/记录的范围都限于当前登录的用户。在服务器端,只需检查您的用户是否已登录,如果已登录,则只返回当前用户的好友。 (否则重定向到登录页面)

假设 friend 3 属于用户 2。如果用户 1 登录并请求 friend ,服务器将只返回 friend 1 和 2。如果用户 2 登录,它将只返回 friend 3。

不要忘记在节目中使用当前用户,创建、更新和删除操作也是如此 :p

如果您需要用户的信息,只需在服务器上执行“/users/current”之类的操作并返回您需要的信息。您可以将其存储在用户模型中,然后您可以使用它来更新用户名等。

关于javascript - 脊柱 JS 模型 : How does Spine handle a server response containing records for a related model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244874/

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