【四日目】chatspaceメッセージ送信機能 references型
メッセージ送信機能実装のため、モデル作成。
まずは、ターミナルでメッセージモデル作成。
ターミナル
1 |
$ rails g model message
|
マイグレーションファイルで、カラム設定。
201XXXXXXXXXXX_create_messages.rb
1 2 3 4 5 6 7 8 9 10 11 |
class CreateMessages < ActiveRecord::Migration[5.0]
def change
create_table :messages do |t|
t.string :content
t.string :image
t.references :group, foreign_key: true
t.references :user, foreign_key: true
t.timestamps
end
end
end
|
group,userテーブルとのアソシエーション定義をする。
外部キー制約のついたカラムを追加するためにreferences型を使用するメリットは以下の通り。
1. t.references :group とすると、group_idカラム名を自動的に作ってくれる
2. indexを自動で貼ってくれる
※index:データベース機能の一つで、データの検索を高速にしてくれる仕組み。カラムに対して、インデックスを設定する。
t.references :groupだけだと、外部キー制約をつけられないので、
foreign_key :true とすると、外部キー制約をつけられます。