2012-11-16 54 views
0

我在我的web應用程序中使用設計進行身份驗證,我的web應用程序也響應iPhone應用程序。到目前爲止,我已經做了唯一的身份驗證,所以當iPhone應用程序發送的如何創建設計用戶之間的友誼,並通過API獲取每個用戶的朋友列表?

http://localhost:3000/login.json -d "{'user' : { 'username' : '[email protected]','password' : 'password'}}" 

他們的迴應是

{「用戶」的用戶名和密碼:{「authentication_token」:「LayzZw3s3gsNMFRJp1JR」 「電子郵件」:「[email protected]」,「用戶名」:「[email protected]」}}

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

用戶後接受時通過調用API的用戶需求

我怎樣才能做到這一點,用戶應添加到用戶和用戶的朋友的朋友列表的請求應顯示?

回答

0

由於m_x表示這與認證無關。

你應該創建的是一個用戶之間的自我指涉關係,並且有許多關係。

用戶有很多朋友通過友誼(並在同一時間有很多inverse_friends)。

這在railscast#很好解釋163 http://railscasts.com/episodes/163-self-referential-association

在您的方案inverse_friend應被視爲「朋友請求」,一旦用戶有兩個朋友,並與其他用戶的「友誼逆朋友關係「應被視爲接受。

0

這與認證無關。

你需要的是一個FriendshipRequest模型,它既屬於「詢問」用戶也屬於「詢問」其他用戶。當用戶想要請某人成爲他的朋友時,他只需在你的分貝中創建一個FriendshipRequest。當其他用戶諮詢他的頁面時,他看到該友誼請求並且可以接受它(在數據庫中創建一個新的Friendship對象,屬於兩個用戶)或丟棄它(破壞FriendshipRequest記錄或將其標記爲拒絕其他用戶查看)。總而言之,您甚至可以只使用Friendship模型和accepted布爾型標誌。其餘的是經典的鐵軌。

相關問題