0

私のRails FBアプリでは、キャンバスで実行しているときに、「/users」に移動するとGET、インデックスページを表示する代わりにPOST、新しいユーザーが作成されます。

これは、URL に直接アクセスしようとした場合にのみ発生します。アプリで「ユーザーのリスト」リンクを使用すると、期待どおりに機能します。

何故ですか?

4

2 に答える 2

0

それがFBのやり方です。また、各クエリでデータを投稿します。

于 2012-08-02T04:24:12.477 に答える
0

Facebook はすべてを POST として送信し、RESTful ルートにブレーキをかけます。ただし、それを修正する方法があります。着信 POST リクエストにsigned_requestパラメーターが含まれている場合、Facebook によって GET から POST に変換されたと見なすことができます。

Rack::Facebook::MethodFixミドルウェアは問題を自動的に修正します。次のようなもので使用できます。

# Basic usage
use Rack::Facebook::MethodFix

# Also validate signed_request
use Rack::Facebook::MethodFix, :secret_id => "c561df165eacdd6e32672c9eaee10318"

# Do not apply request method fix to admin urls.
use Rack::Facebook::MethodFix, :exclude => proc { |env| env["PATH_INFO"].match(/^\/admin/) }

またはRailsを使用している場合

config.middleware.use Rack::Facebook::MethodFix 
于 2012-11-12T14:11:11.483 に答える