中間テーブルにデータが保存されません
解決したいこと
チャット機能実装時に中間テーブルを作成してコンソール上でデータ保存を試したところ保存されません。
保存が出来ない理由と解決方法を知りたいです。
発生している問題・エラー
作成済みのusersテーブルとroom_usersテーブルに下記のようにコンソールでrails cコマンドから実行してもテーブルに保存されません。
該当するソースコード
ruby app/models/room.rb
class Room < ApplicationRecord
has_many :room_users, dependent: :destroy
has_many :users, through: :room_users
has_many :messages, dependent: :destroy
end
models/room_user.rb
class RoomUser < ApplicationRecord
belongs_to :user
belongs_to :room
end
controllers/rooms_controller.rb
class RoomsController < ApplicationController
def new
@room = Room.new
end
def create
@room = Room.new(room_params)
if @room.save
redirect_to root_path
else
render :new
end
end
private
def room_params
params.require(:room).permit(:name).merge(user_ids: [])
end
end
自分で試したこと
以前作成した別のWebアプリで同じようにテーブル作成、アソシエーション定義した時はこのように保存できました。
テーブル作成手順とアソシエーション記述は全く同じはずなのですが・・・
今回はダメな理由がわかりません。
0 likes