概要
Railsにてテーブルにレコードを追加するには、モデルオブジェクトを作成して、保存します。具体的には次の流れです。
- モデルオブジェクトを生成する。
- モデルオブジェクトのカラムデータを更新する。
- モデルオブジェクトをデータベースに保存する。
例
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;
レコードを確認します。レコードが追加されていれば成功です。