はじめに
転職活動をする中で、MVCそれぞれの役割やhttp通信についてなど、基礎的な技術知識について問われるシーンがあったので、改めて基本に立ち返って自己学習しようと思った。
出題例にActive Recordについての質問があり、
そういえばちゃんと説明できないな〜…と思ったので学習内容をまとめる。
Active Recordとは
Ruby on Railsで使用されるデザインパターンの一つで、DBとのやり取りを簡素化してくれるもの。
本来DBとやり取りをするためにはDB言語であるSQLが使われますが、
RailsにはこのActive Recordが適用されているため、
複雑なSQL文を書かなくてもRubyで直感的にDBとのやり取りを記述することができる。
Active Recordで出来る主なこと
- CRUD機能のサポート
Create Read Update Deleteといった基本的なデータ処理機能を
メソッドを用いて簡単に行うことができる。
- モデル同士のアソシエーション
異なるモデル間を結ぶことができます。
ex)1ユーザーが複数のコメントを投稿できるように、UserモデルとCommentモデルを関連づける。
- バリデーションの作成
データが正しくデータベースに保存されるための制約をつけることができる。
ex1)コメントには必ず本文が記入されていないといけない
ex2)本文は50文字以内でなければいけない
- クエリインターフェイス
データベースから意図したデータを取得するための方法。
ex1)登録されているユーザーデータを全件取得
@users = User.all
ex2)ユーザーのデータベースから名前が「太郎」さんのデータのみを取得
@user = User.find_by(:name "太郎")
など
普段なんとなくコントローラにモデル.allとかモデル.find(params[:id])とか書いてましたが、
Active RecordのおかげでDBとのやり取りが簡単に行うことができていたんですね🥸
参考にさせていただいた記事