簡體   English   中英

如何在設計用戶之間建立友誼並通過api獲取每個用戶的朋友列表?

[英]How to create friendships between devise users and get the list of friends of each user through api?

我在Web應用程序中使用devise進行身份驗證,並且Web應用程序也響應iPhone應用程序。 到目前為止,我只完成了身份驗證,因此當iPhone應用程序將用戶名和密碼發送為

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

響應將是

{“用戶”:{“ authentication_token”:“ LayzZw3s3gsNMFRJp1JR”,“電子郵件”:“ sample@yahoo.co.in”,“用戶名”:“ sample@yahoo.co.in”}}

但是現在我需要在iPhone應用程序的用戶之間建立友誼,即該用戶必須通過API向另一個用戶發送好友請求,而另一個用戶應該收到一個請求

用戶接受請求后,應將用戶添加到兩個用戶的好友列表中,並在需要時通過調用API顯示該用戶的好友

我怎樣才能做到這一點?

這與身份驗證沒有任何關系。

您需要的是一個FriendshipRequest模型,該模型既屬於“詢問”用戶,也屬於“詢問”其他用戶。 當用戶想要請求某人成為他的朋友時,他只是在您的數據庫中創建了FriendshipRequest 當其他用戶查詢他的頁面時,他看到該友誼請求並可以接受它(在db中創建一個新的Friendship對象,屬於兩個用戶)或丟棄它(銷毀FriendshipRequest記錄或將其標記為對其他用戶拒絕)查看)。

總而言之,您甚至只能使用帶有accepted布爾標志的Friendship模型。 其余的是經典的軌道。

正如m_x所說,這與身份驗證無關。

您應該創建的是具有許多穿越關系的用戶之間的自我參照關聯。

一個用戶有很多通過友誼的朋友(同時有很多inverse_friends)。

在railscast#163 http://railscasts.com/episodes/163-self-referential-association中對此進行了很好的解釋。

在您的方案中,應該將inverse_friend視為“朋友請求”,並且一旦用戶與另一個用戶同時擁有朋友和反向朋友關系,就應將“友誼”視為已接受。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM