def create
@room = Room.find(params[:room_id])
message = @room.messages.new(message_params)
if @message.save
redirect_to room_messages_path(@room)
else
render :index
end
end
上記ではif @message.saveの@messageが定義されずエラーになっている
下記のようにすることで@messageを定義する
@message = @room.messages.new(message_params)
であれば、逆にif @message.saveをif message.saveにするのはどうかと疑問になるところ
この記述でもメッセージの送信は可能だが、メッセージの保存に失敗した時にrender :indexで呼ばれた先のビューファイルで@messageがないことによるエラーが発生するので、@messageと修正するのが良い