通常どおり機能する Web UI を備えたシステムと、/receiver_api に API エンドポイントがあります。ユーザーは、Mailgun によって解析される電子メールを送信し、Mailgun はこのエンドポイントに POST を送信します。これらのパラメーターの値 (新しい投稿の作成、新しい返信の作成、サブスクリプションの追加、サブスクリプションの削除など) に応じて、実行したい可能性のある多くのアクションがあり、ハンドラーを作成するときは、実行しているように感じました。再び一種のルーティング!
そのため、POST パラメーターに基づいて、リクエストを送信するコントローラーを選択したいと考えています。現時点では、ApplicationController から継承する ReceiverApi#receiver コントローラー/メソッドに /receiver_api を送信しています。現在、ApplicationController から継承しない他の「偽の」コントローラーにリクエストを効果的にルーティングします (ある Rails コントローラーから別のコントローラーへのリダイレクトは機能しないため)。最終的には Rails コントローラーにルーティングして、before_filter やその他すべての魔法を使用できるようにしたいと考えています。
とにかく、頭に浮かぶ可能性の 1 つは、routes.rb のメソッドで、POST パラメーターにアクセスし、Rails コントローラー/メソッドを返す必要があります。2 つの質問:
これは可能ですか?routes.rb の POST パラメータにアクセスできますか?
これを行うより良い方法はありますか?私たちは、Rack のレベルを上げることを考えていました。おそらくいつかはそうするでしょうが、時間がかかる場合はドアから何かを取り出したいと考えています。
ありがとう!