4

私は Ruby on Rails の初心者で、Ruby on Rails Web アプリケーションの典型的なリクエスト/レスポンス ライフ サイクルの詳細なフローを理解しようとしています。

私は情報をグーグルで検索しましたが、ディスパッチャーに対するDNSサーバーのレベルまで完全または詳細な回答が見つかりませんでした.

適切な説明に最も近いのは http://brainspl.at/request_response.pdfです。

誰かがより良い、またはより詳細な説明を教えてもらえますか?

-ラビテヤ

4

4 に答える 4

11

Rails のリクエスト/レスポンス サイクルについてお尋ねになりましたが、それを非常によく説明しているプレゼンテーションを既に参照されています。したがって、非常に高いレベルからそれを知りたいと考えており、開発のためにこの概念が完全に必要であると想定しています。それならここです。パーツに順番に名前を付けようとしています。

  1. ルート:ここでは、アプリケーションにアクセスするために世界中で使用されるパスを描画します。完全な RESTful アーキテクチャでは、リソースの階層を定義し、何らかのアクションを実行するためにリソースにアクセスする方法を定義する必要があります。アプリケーションへのリクエストがルート ファイル内のどのパスとも一致しない場合、そのリクエストは処理されません。一致するものがあれば、対応するコントローラーとアクションを見つけて呼び出します。呼び出し時に、すべてのリクエスト関連データをparamsハッシュに格納します。
  2. フィルターの前:これで、アプリケーションは、どの controller#method がリクエストを処理するかを既に認識しています。そして、そのメソッドを呼び出す前に、実行するように構成されたものがあるかどうかを確認します。これは、 を使用して行われbefore_filterます。何かが見つかった場合、それらの関数が最初に呼び出されます。
  3. メソッドの実行:特定の順序ですべてのbefore_filterメソッドを実行した後、実際のメソッドを呼び出します。このメソッドでは、すべてのデータがparamsハッシュで利用できます。入力データを処理し、データベースにアクセスするための Model 呼び出しを呼び出し、表示するデータを準備します。
  4. View: controller#action、format に基づいて適切なビュー ファイルが選択されます。または、呼び出しによってレンダリングする特定のビューを選択することもできますrender :partial。そして、コントローラーに準備された変数を使用して応答が準備されます。この応答はクライアントに送られます。
  5. After Filters:ビューを処理した後、メソッドを検索しafter_filter、見つかった場合はメソッドを検索します。

さて、これは私が言う簡単な概要であり、実際には詳細はありません. 繰り返しますが、参照した pdf には実際に詳細が含まれています。

具体的に知りたいことがあれば教えてください。

于 2012-09-29T19:49:17.073 に答える
3

ユーザーはブラウザを開いて URL を入力し、Enter キーを押します。ユーザーが Enter キーを押すと、ブラウザーはその URL を要求します。リクエストは Rails ルーター (config/routes.rb) にヒットします。ルーターは、URL を正しいコントローラーとアクションにマップして、要求を処理します。アクションはリクエストを受け取り、モデルにデータベースからデータを取得するように依頼します。モデルはデータのリストをコントローラ アクションに返します。コントローラー アクションは、データをビューに渡します。ビューはページを HTML としてレンダリングします。コントローラーは HTML をブラウザーに送り返します。ページが読み込まれ、ユーザーに表示されます。

https://www.codecademy.com/articles/request-response-cycle-dynamic およびhttps://www.codecademy.com/articles/request-response-cycle-forms

于 2016-05-01T22:46:59.650 に答える