Sinatra アプリケーションの POST メソッドを使用してデータベースにユーザーを追加しようとしています。私のデータベース接続は正常に動作しています - で GET できUser.all.to_json
ます。ただし、POST を実行しようとすると、リクエストが失敗したという説明のないサーバー エラーが表示されます。私が知る限り、それはuser.save
電話に関係しています。私は何を間違っていますか?
post '/users/?' do
@request_payload = JSON.parse request.body.read
user = User.new(name: @request_payload["name"],
email: @request_payload["email"],
created_at: @request_payload["created_at"],
last_sign_in_at: @request_payload["last_sign_in_at"])
user.save
end
編集:関連性があるかどうかはわかりませんが、接続しているデータベースのスキーマは次のとおりです。
Table "public.users"
Column | Type | Modifiers
------------------------+-----------------------------+----------------------------------------------------
id | integer | not null default nextval('users_id_seq'::regclass)
email | character varying(255) | not null default ''::character varying
encrypted_password | character varying(255) | not null default ''::character varying
reset_password_token | character varying(255) |
reset_password_sent_at | timestamp without time zone |
remember_created_at | timestamp without time zone |
sign_in_count | integer | default 0
current_sign_in_at | timestamp without time zone |
last_sign_in_at | timestamp without time zone |
current_sign_in_ip | character varying(255) |
last_sign_in_ip | character varying(255) |
name | character varying(255) |
created_at | timestamp without time zone | not null
updated_at | timestamp without time zone | not null
authentication_token | character varying(255) |
password_updated_at | timestamp without time zone |
Indexes:
"users_pkey" PRIMARY KEY, btree (id)
"index_users_on_email" UNIQUE, btree (email)
"index_users_on_reset_password_token" UNIQUE, btree (reset_password_token)