0

我在我的 Web 应用程序中使用 devise 进行身份验证,我的 Web 应用程序也响应 iPhone 应用程序。到目前为止,我只完成了身份验证,所以当 iPhone 应用程序发送用户名和密码时

http://localhost:3000/login.json  -d "{'user' : { 'username' : 'sample@yahoo.co.in','password' : 'password'}}"

回应是

{"user":{"authentication_token":"LayzZw3s3gsNMFRJp1JR","email":"sample@yahoo.co.in","username":"sample@yahoo.co.in"}}

但是现在我需要在 iPhone 应用程序的用户之间建立友谊,即用户必须通过 API 向另一个用户发送好友请求,另一个用户应该收到一个请求

用户接受请求后,应将用户添加到用户的好友列表中,并在用户需要时通过调用API显示用户的好友

我怎样才能做到这一点?

4

2 回答 2

0

这与身份验证几乎没有关系。

您需要的是一个FriendshipRequest同时属于“询问”用户和“询问”其他用户的模型。当用户想要请求某人成为他的朋友时,他只需FriendshipRequest在您的数据库中创建一个。当其他用户查看他的页面时,他看到了该友谊请求并且可以接受它(Friendship在数据库中创建一个新对象,它属于两个用户)或丢弃它(销毁FriendshipRequest记录或将其标记为已拒绝以供其他用户查看)。

总而言之,您甚至可以只使用Friendship带有accepted布尔标志的模型。其余的是经典的导轨。

于 2012-11-16T15:48:21.970 回答
0

正如 m_x 所说,这与身份验证无关。

您应该创建的是具有多槽关系的用户之间的自引用关联。

一个用户通过友谊有很多朋友(同时有很多 inverse_friends)。

这在 railscast #163 http://railscasts.com/episodes/163-self-referential-association中有很好的解释

在您的场景中,应将 inverse_friend 视为“朋友请求”,并且一旦用户与另一个用户同时具有朋友和反向朋友关系,则应将“友谊”视为接受。

于 2012-11-16T16:54:20.617 回答