2011-10-21 9 views
0

私はFacebookのアプリケーション要求を送る方法を学ぶ、Railsの初心者です。私はRailsでこれを行うことについてあまりにも多くのドキュメントを見つけていないので、私は正しい軌道にいるかどうか、またはこれを行うためのより良い方法があるかどうか尋ねたかった。今は、受信者IDをループして、sender_id、recipient_id、およびrequest_idをデータベースに格納しています。ここで私は、この時点で持っているものです。Facebook AppRequests、Rails、Jquery、Ajax

$(document).ready(function() {   

$('#button').click(sendRequest); 
    function sendRequest() { 
     FB.ui({ 
      method: 'apprequests', 
      message: 'Check out this application!', 
      title: 'Send your friends an application request', 
     }, 
function (response) { 
     if (response.request && response.to) { 
      var request_ids = []; 
      for(i=0; i<response.to.length; i++) 
      { 
      var temp = response.to[i]; 
      var temptwo= response.request; 
      $.ajax({ 
       type: 'POST', 
       url: "http://localhost:3000/fbusers", 
        data: {request : { 
              recipient_id : temp, 
              sender_id: <%[email protected]_uid%>, 
              request_id: temptwo}}, 
       dataType: 'json', 
        success: function(data) { 
         var obj= "hello there"  
         alert(obj);   
          },  
       }); 
      } 
     } else { 
      alert('canceled'); 
      } 
     }); 
     return false; 
     } 

コントローラは、ちょうどこのがあります。この時点で

def create 
    User.create(params[:request]) 
end 

を、私の主な関心事は、この方法が「良い習慣」とみなされているかどうか(1)され、 (2)実行時間の点でより速いかどうか、これを書くより効率的な方法。これを行うには良い方法があるなら、私に知らせて、または私は正しい軌道に乗ってる場合してください

http://www.masteringapi.com/tutorials/how-to-send-an-application-request-using-the-facebook-graph-api/44/

:私は主にPHPのために書かれた、(いくつかの変更を伴う)このチュートリアルに続きます。また、このチュートリアルでは、すべての受信者を1つの文字列にまとめ、mysqlでそれらを「分解」しました。私はこの点が何であるか、そしてajaxの投稿機能をループすることに欠点があるかどうかは不明であった。長い質問のお詫び、何か助けていただければ幸いです。

答えて

0

Koala宝石は私があなたにお勧めするものです。 RailsまたはSinatraベースのアプリケーションで使いやすい。

+0

が勧告をありがとう、私はすでになど、宝石をインストールし、そのFBのAPIからデータを引っ張るため非常に便利となって、ストリームに発行していたことができます。しかし、私は」なかったのコーラを通じてアプリケーションリクエストを作成する方法について説明したドキュメントの内容を参照してください。私は "put_connections()"などに関連するいくつかのコードを試しましたが、何も明らかに見えませんでした。コアラがこれに取り組むなら、どんなアドバイス/指示も非常に高く評価されるでしょう。 ありがとうございます! – Mike

0

チュートリアルでは、1つの文字列内のすべての受信者を兼ね備えているという事実は、(あなたのコードで、あなただけの最初の受信者のIDを保存する)すべての受信者のIDを保存することができることです! 爆発は、1つのテーブルの生存者を1つのテーブルに保存するために使用されます。このようにして、booleanパラメータにfalseまたはtrueを設定し、誰が受け入れたのか、誰を削除せずに要求しなかったのかを監視することができます:)

あなたはまた、彼らはapp_requestのための部分的なサポートを追加し、fb_graphの宝石を見ることができます。

希望これは:) Dinuz