[英]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.