Rails テーブルにレコードを追加する

概要

Railsにてテーブルにレコードを追加するには、モデルオブジェクトを作成して、保存します。具体的には次の流れです。

  1. モデルオブジェクトを生成する。
  2. モデルオブジェクトのカラムデータを更新する。
  3. モデルオブジェクトをデータベースに保存する。

 


tree モデルの nameカラムを”maple”として 1件レコードを追加します。データベース名はsample_db、テーブル名はtreesとします。

 


1. モデルオブジェクトを生成する。

model.newメソッドにより、

tree = Tree.new

treeモデルのモデルオブジェクトを生成します。

 


2. モデルオブジェクトのカラムデータを更新する。

次のように、

tree.name = "maple"

nameカラムを”maple”に更新します。

 


3. モデルオブジェクトをデータベースに保存する。

model.saveメソッドにより、

tree.save

生成したモデルオブジェクトをデータベースに保存します。

以上で、レコードの追加は完了です。

 


レコードの追加テストをする

次のコードを作成して、/lib/tasks/save_record.rb として保存します。

class SaveRecord
 def save
  tree = Tree.new
  tree.name = "maple"
  tree.save
 end
end

t = SaveRecord.new
t.save
p "done"

実行します。

$ rails runner lib/tasks/save_record.rb
"done"

これでレコードが追加されたはずです。


レコードが追加できているか確認する

MySQLにログインし、次のように、

mysql> use sample_db;
mysql> select * from trees;

レコードを確認します。レコードが追加されていれば成功です。