Railsスタックについての私の単純な理解は、それが次のことを行うということです(一般的に)
- 入力は、HTTP メッセージ (GET、POST、PUT、DELETE、HEAD)、URL、いくつかの (オプションの) Cookie、(オプションの) セッション トークン、および場合によっては JSON または XML 形式でパックされたデータです。
- この HTTP メッセージは、Rack によって処理されます。Rack は、メッセージにデータを追加または削除する一連の「ミドルウェア」関数を実行し、そのデータを使用してプログラムのデータ ストアからデータを追加、変更、または削除します。
- Rack の出力の HTTP メッセージは Rails ルーターに送信され、Rails ルーターはそれをコントローラー、アクション、およびセッション情報、Cookie、およびその他のパラメーターを含む params ハッシュにマップします。データは適切なコントローラーにディスパッチされます。
- コントローラー メソッドはパラメーターを解析し、それを (モデルを介して) データベースからのデータとアルゴリズム的に結合し、オプションでデータを変更してから、@ で始まる一連の変数をビュー テンプレートにディスパッチします。
- ビュー テンプレートはデータを受け取り、それをビュー テンプレートとマージして、適切な形式 (HTML、JS、JSON、XML など) のビューを形成するか、(HTTP リターン コードを介して) 呼び出し元にリダイレクトするように指示します。別の URL。
Railsコンソールを使用してRails Webアプリケーションでやりたいことは
- URL、セッション ID、Cookie、およびエンコードされたデータ (JSON または XML) を使用して、有効な HTTP メッセージを作成します。
- このデータを Rack インターフェイスに挿入し、Rails ルーターに送信される前に何が出力されるかを調べます。
- 次に、そのデータを Rails ルーターに送信し、コントローラーに送信される前に何が出力されるかを確認します。
- 次に、そのデータをコントローラーに送信し、ビュー テンプレートに送信される前に何が表示されるかを確認したいと思います。
- 次に、そのデータを取得してビュー テンプレートを介して実行し、STDOUT に表示するか、自動的に Web ブラウザーを開いてレンダリングするようにします。
これを実行できる既存の Rails ツールはありますか? そうでない場合は、これらのインターフェイスが発生する Rails コードを教えてもらえますか?