0

Rails アプリ内には、外部サービス (つまり、PayPal IPN、Mailgun、Pusher) によって呼び出される Webhook がいくつかあります。現在、各タイプには独自のコントローラーと必要なルートがあります。次に例を示します。

post 'jobs/:job_id/comments/reply' => 'mailgun#incoming_email_comment'
post '/webhook' => 'pusher#webhook'
post '/paypal/ipn', :to => 'paypal#ipn', :as => :paypal_ipn

これを達成するためのよりクリーンで「レールの方法」はありますか?

4

1 に答える 1

0

例えばpost '/webhook' => 'pusher#webhook'

pushers_controller.rb

class Pushers <ApplicationController
  def webhook
    ....
  end
end

ルート.rb

resources :pushers do
  collection do
    post 'webhook'
  end
end

このようにそのルートのURLを取得できるようになりました

webhook_pushers_path

また

link_to 'some text', webhook_pushers_path 

ご覧のとおり、手動で URL を記述する必要はありません。Rails は、コントローラーの名前とアクションを使用して自動的に作成します。詳細はhttp://guides.rubyonrails.org/routing.html#adding-more-restful-actionsで読むことができます

于 2013-06-01T13:28:16.227 に答える