4

次のコードを調べています。

Helloworld::Application.routes.draw do
  match 'products/:id/purchase' => 'catalog#purchase'

  resources :products do
    member do
      get 'short'
      post 'toggle'
    end

    collection do
      get 'sold'
    end
  end
end

URL が舞台裏でコントローラにどのようにマッピングされているか、誰か説明できますか?

私がそれを理解する方法:

  1. ラックからのリクエスト オブジェクトが入ってきます。
  2. drawそのコード ブロックを評価します。
  3. matchresourcesなどは と同じスコープで定義されているdrawため、これらの関数は次々と実行され、Request に一致しようとします。それらのいずれかがそうする場合、それは右コントローラー アクションを呼び出します。

これは正しいです?

ありがとう!

4

0 に答える 0