0

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)
4

1 に答える 1