1

GET リクエストの場合:-

 response = Typhoeus::Request.get("http://localhost:3000/users/1.json?oauth_token=12")

これにより、Json レスポンスが完全に返されます。

投稿リクエストの場合:-

   response = Typhoeus::Request.post("http://localhost:3000/users/1.json?oauth_token=12",:params => {'[user][city]' => params[:location]})

動かない...

これはルーティング エラーを返しています。

アップデート: -

ログインするには、この api post 呼び出しが機能しています..

     response = Typhoeus::Request.post(API_SERVER_ADDRESS + "user_sessions.json" + API_OAUTH_TOKEN, :params => {'[user_session][email]' => params[:email], '[user_session][password]' =>params[:password]})

ルートでは

resources :users

また、Web http リクエストは完全に正常に機能しています。

アップデート

たとえば、Rails ログからの http リクエストは次のとおりです:--

   Parameters: {"commit"=>"Update", "authenticity_token"=>"8nvzCd0GF9IxjMcTfHOMJTPnycVPNIENMoMff8w4qAI=", "utf8"=>"✓", "id"=>"1", "user"=>{ "city"=>"abc"}}

今、私は同じ種類のリクエストを送信したい..

4

3 に答える 3

1

ここに解決策があります

これから_

 response = Typhoeus::Request.put(API_SERVER_ADDRESS + "users/" +user_id + ".json" ,:params => {:oauth_token=>'12', :user=>{:city => params[:location]}})
于 2011-06-23T21:19:03.680 に答える
1

:params パラメーターは、キーと値のペアを意味する parms のハッシュである必要があるため、おそらく次のようになります。

response = Typhoeus::Request.post("http://localhost:3000/users/1.json?oauth_token=12",:params => {:user => 'u', :city => 'c', :location => 'l'})

...またはそのようなもの - パラメータが何であれ、値が何であれ。あなたのオリジナルは、あなたがやりたいことの意味のあるハッシュに変換されないと思います。

また、ルーティングをチェックして、実行しようとしているものが適切にルーティングされていることを確認してください。

于 2011-06-23T19:24:35.287 に答える
0

ファイルで別のPOSTルートを宣言したことを確認してください。routes.rbURL が同じであっても、異なる HTTP メソッドには異なるルートが必要です。

を使用resources :usersすると、デフォルトで次のようになります。

GET     /users/new        # new
POST    /users            # create
GET     /users/:id        # show
GET     /users/:id/edit   # edit
PUT     /users/:id        # update
DELETE  /users/:id        # destroy
于 2011-06-23T19:25:53.463 に答える