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はあなたのデータベースに を作成するだけです。他のユーザーが自分のページを参照すると、そのフレンドシップ リクエストが表示され、それを受け入れる ( Friendshipdb に新しいオブジェクトを作成し、両方のユーザーに属している) か、破棄する (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 に答える