LoginSignup
1
2

More than 3 years have passed since last update.

Active Recordまとめ1

Posted at

Active Recordとは

Active RecordとはMVCフレームワークにおけるM、モデルに当たる部分で、データとロジックを表します。データベースに保存されたデータは削除しない限りは永続的に保存されます。

ORMフレームワークとしてのActive Record

ORM=オブジェクト・リレーショナル・マッピングとはアプリケーションがもつオブジェクトをMySQLなどのリレーショナルデータベースのテーブルに繋げることが出来ます。これによってMySQLなどでSQL文を直接記述する必要がなくなり、Rubyでアクセスコードを書くだけでアプリケーションのオブジェクトをデーターベースに保存したり、読み出すことが出来るようになります。またActive Recordの役割として以下のような点もあります。

・モデル同士の関連付け

・関連付けられているモデル間の継承階層を表現

・データをデータベースで保存する前にRailsモデルファイル内でバリデーションを実行

Active Recordの命名規則

Railsのモデル名は単数形でUser、Newsのように表現するルールですが、テーブル名はusersやpostsなど複数形で名前を作るルールになっている。また語が複数の単語から成り立つ場合、user_advicesのようにアンダースコアで区切られます。

またデータベースのテーブルで使うカラム名の命名ルールとしては主キーの場合はidという名前のintegerカラムがテーブルを作成すると自動で作成され、外部キーを設定する場合は「テーブル名の単数形_id」という名前のidを設定する決まりになっています。よってuser_idやpost_id、user_advice_idといった名前のid名になります。

Active Recordでのデータの読み書き

Active Recordでのデータの読み書きはCRUDと呼ばれるデータベースを操作する「Create」「Read」「Update」「Delete」メソッドの頭文字を繋げた言葉で表わされます。

・Create …. createメソッドを実行すると新しいオブジェクトが返され、データベースが保存されます。(newメソッドと似ていますがnewメソッドは単にオブジェクトを返すだけです。)

・Read …. データベース内の情報にアクセス出来る。以下は主なアクセスメソッドです。

user = User.all                   # 全てのユーザーを返す

user = User.first                 # 最初のユーザーを返す

user = User.find_by(name: 'toda') # todaという名前の最初のユーザーを返す

・Update …. オブジェクトの情報を取得して更新することが出来ます。

・Delete …. オブジェクトの情報を取得して削除してデータベースから削除することが出来ます。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2