開発環境
- ruby 3.0.0
- sinatra 2.1.1
- gem 'pg'
発生しているエラー
sinatraとPostgreSQLを使ったメモアプリケーションを作成しているところでエラーが発生してしまいました。
http://localhost:4567/memos
でのエラー
エラー文(テキスト)
PG::SyntaxError at /memos ERROR: syntax error at or near "'8e042255-6757-4936-89a8-4c22a14522fb'" LINE 1: ...TO memos (id, title, article) VALUES ($1, $2, $3) '8e042255-... ^
どういう処理のときのエラーなのか
/memos/new
というページで、titleとarticleをフォームからPOSTで送信するときにこのエラーが発生しています。
該当のソースコード
関係のある部分を抜粋
hash['id']に
ruby
1# frozen_string_literal: true 2 3require 'sinatra' 4require 'sinatra/reloader' 5require 'securerandom' 6require 'haml' 7require 'pg' 8 9# データを追加 10def create_memo(hash) 11 query = "INSERT INTO memos (id, title, article) VALUES ($1, $2, $3) '#{hash['id']}', '#{hash['title']}', '#{hash['article']}'"; 12 connect_to_db.exec(query) 13end 14 15post '/memos' do 16 new_memo = { 17 'id' => SecureRandom.uuid, 18 'title' => params[:title], 19 'article' => params[:article] 20 } 21 create_memo(new_memo) 22 redirect('memos') 23end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。