🛤️

Rails7.0 機能一覧(個人用メモ)

2024/09/29に公開

Railsの機能を全体的に把握したくて個人的にまとめました。
devdocs.io/rails のガイドの1章にあたる内容を抽出しています。

ActionCable

WebSocket をRails アプリケーションの他の部分とシームレスに統合します。これにより、Rails アプリケーションの他の部分と同じスタイルと形式で、リアルタイム機能を Ruby で記述できます。しかも、パフォーマンスとスケーラビリティはそのままです。これは、クライアント側の JavaScript フレームワークとサーバー側の Ruby フレームワークの両方を提供するフルスタック製品です。Active Record または任意の ORM で記述されたドメイン モデル全体に​​アクセスできます。

ActionController

アクション コントローラーはMVCの C です。ルーターがリクエストに使用するコントローラーを決定した後、コントローラーはリクエストを理解して適切な出力を生成する役割を担います。幸いなことに、アクション コントローラーはほとんどの基礎作業を実行し、スマートな規則を使用してこれを可能な限り簡単にします。従来のRESTfulアプリケーションのほとんどでは、コントローラーがリクエストを受け取り (開発者には見えません)、モデルからデータを取得または保存し、ビューを使用して HTML 出力を作成します。コントローラーが少し異なる動作をする必要がある場合でも、問題ありません。これは、コントローラーが動作する最も一般的な方法です。したがって、コントローラはモデルとビューの仲介者と考えることができます。コントローラはモデル データをビューで利用できるようにして、そのデータをユーザーに表示できるようにし、ユーザー データをモデルに保存または更新します。

ActionMailbox

Action Mailbox は、受信メールをコントローラーのようなメールボックスにルーティングし、Rails で処理します。Mailgun、Mandrill、Postmark、SendGrid のイングレスが付属しています。また、組み込みの Exim、Postfix、Qmail イングレスを介して受信メールを直接処理することもできます。受信メールはInboundEmailActive Record を使用してレコードに変換され、ライフサイクル追跡、Active Storage によるクラウド ストレージへの元のメールの保存、デフォルトでオンになっている焼却による責任あるデータ処理などの機能を備えています。これらの受信メールは、Active Job を使用して 1 つまたは複数の専用メールボックスに非同期的にルーティングされ、ドメイン モデルの残りの部分と直接やり取りできるようになります。

ActionMailer

Action Mailer を使用する場合、メール送信クラスとビューを使用してアプリケーションから電子メールを送信できます。

ActionText

Action Text は、Rails にリッチ テキスト コンテンツと編集機能をもたらします。これには、書式設定からリンク、引用、リスト、埋め込み画像やギャラリーまで、あらゆるものを処理するTrix エディターが含まれています。Trix エディターによって生成されたリッチ テキスト コンテンツは、アプリケーション内の既存の Active Record モデルに関連付けられた独自の RichText モデルに保存されます。埋め込まれた画像 (またはその他の添付ファイル) は、Active Storage を使用して自動的に保存され、含まれている RichText モデルに関連付けられます。

ActionViewFormHelper

Web アプリケーションのフォームは、ユーザー入力に慣れるインターフェースです。ただし、フォーム コントロールの名前付けとその多数のプロパティを処理する必要があるため、フォーム マークアップの作成と保守はすぐに面倒になります。は、フォーム マークアップを生成するためのビュー ヘルパーを提供することで、この複雑な解決をします。 なお、これらのヘルパーにはさまざまな使用例があるため、開発者はヘルパー メソッドを使用する前に、それらの違いを知っておく必要があります。

ActionView

Rails では、Web リクエストはAction Controllerと Action Viewによって処理されます。通常、Action Controller はデータベースとの通信と、必要に応じて CRUD アクションの実行を担当します。Action View は、レスポンスのコンパイルを担当します。アクション ビュー テンプレートは、HTML と混在するタグに埋め込まれた Ruby を使用して記述されます。テンプレートが定型コードで乱雑になるのを避けるために、いくつかのヘルパー クラスがフォーム、日付、および文字列の共通の動作を提供します。また、アプリケーションの進化に合わせて新しいヘルパーを簡単に追加できます。Action View の一部の機能は Active Record に結び付けられていますが、Action View が Active Record に依存しているわけではありません。Action View は、あらゆる種類の Ruby ライブラリで使用できる独立したパッケージです。

Activjob

Active Job は、ジョブを宣言し、さまざまなキューイング バックエンドでジョブを実行するためのフレームワークです。これらのジョブには、定期的にスケジュールされたクリーンアップから、料金の請求、メール送信まで、あらゆるものが含まれます。小さな作業単位に分割して並列実行できるものなら何でもかまいません。

ActiveModel

Active Model は、Active Record にあるいくつかの機能を必要とするクラスを開発する際に使用されるさまざまなモジュールを含むライブラリです。

ActiveRecord

Active Record はMVCの M (モデル) であり、ビジネス データとロジックを表現するシステムのレイヤーです。Active Record は、データベースへの永続的な保存を必要とするデータを持つビジネス オブジェクトの作成と使用を容易にします。これは、オブジェクト リレーショナル マッピング システムの説明である Active Record パターンの実装です。

ActiveStorage

Active Storage を使用すると、Amazon S3、Google Cloud Storage、Microsoft Azure Storage などのクラウド ストレージ サービスにファイルをアップロードし、それらのファイルを Active Record オブジェクトに添付することができます。開発とテスト用のローカル ディスク ベースのサービスが付属しており、バックアップと移行のために下位のサービスにファイルをミラーリングできます。Active Storage を使用すると、アプリケーションは画像のアップロードを変換したり、PDF やビデオなどの画像以外のアップロードの画像表現を生成したり、任意のファイルからメタデータを抽出したりできます。

Rails router

Rails ルーターは URL を認識し、それをコントローラーのアクションまたは Rack アプリケーションにディスパッチします。また、パスと URL を生成することもできるため、ビューに文字列をハードコードする必要がなくなります。

Webpacker

Webpacker は、標準的な webpack 構成と適切なデフォルトを提供する、webpackビルド システムをラップした Rails ラッパーです。webpack または任意のフロントエンド ビルド システムの目標は、開発者にとって便利な方法でフロントエンド コードを記述し、そのコードをブラウザーにとって便利な方法でパッケージ化できるようにすることです。webpack を使用すると、JavaScript、CSS、および画像やフォントなどの静的アセットを管理できます。

Discussion