ActiveRecord=RubyとSQLの翻訳機
とは
Active Recordとは、MVCで言うところのM、つまりモデルに相当するものであり、ビジネスデータとビジネスロジックを表すシステムの階層です。Active Recordは、データベースに恒久的に保存される必要のあるビジネスオブジェクトの作成と利用を円滑に行なえるようにします。Active Recordは、ORM (オブジェクト/リレーショナルマッピング) システムに記述されている「Active Recordパターン」を実装したものであり、このパターンと同じ名前が付けられています。
・ActiveRecordはModel
・DBとの連携がスムーズに行えるもの
ORM, O/Rマッピング(Object Relational Mapping)
https://ja.wikipedia.org/wiki/オブジェクト関係マッピング
- SQL文を使わなくても、わかりやすい文章でDBに指示が出せる。(ex, validationとかbelongs_toとか)
- ↑ORMフレームワークとしてのActiveRecord
- 上をわかりやすく説明すると、「ORMをActiveRecordを使って書いている」
- ORMは概念。それをActiveRecordで書いている。
CRUD: データの読み書き
CRUDとは、4つのデータベース操作を表す「Create」「Read」「Update」「Delete」の頭字語です。Active Recordはこれらのメソッドを自動的に作成するので、テーブルに保存されているデータをアプリケーションで操作できるようになります。
- @user.delete とかは、deleteのメソッドがすでにRails内に組み込まれているということかな?
参考:
Active Record クエリインターフェイス - Railsガイド
controller内のbeforeとかafter
Active Record コールバック - Railsガイド
どんなDBでも、migrationは適応される