🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Q&A

解決済

1回答

2207閲覧

"Internal Server Error"を解決したい

ts21

総合スコア32

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

0グッド

0クリップ

投稿2019/10/28 13:17

目的・現状

Postmanにパラメータを渡してJSON形式データのやりとりを実験したいです。
users_controller.rbにcreateアクションを次のように定義しました。

ruby

1class UsersController < ApplicationController 2 3 def create 4 @user = User.new(user_params) 5 if @user.save 6 render json: { status: 'success', data: @user } 7 else 8 render json: { status: 'error', data: @user.errors } 9 end 10 11 private 12 13 def user_params 14   params.require(:user).permit(:user_name,:email,:password,:password_confirmation) 15 end 16 end

routes.rbのアクションに対するルーティングはこんな感じです。

ruby

1 Rails.application.routes.draw do 2 3 post '/create', to: 'users#create' 4 5end

また、下のようなJSONのパラメータを用意しました。

JSON

1{ 2 "user_name":"abc", 3 "email":"abc@exsample.com", 4 "password":"rhcp", 5 "password_confirmation":"rhcp" 6}

そしてrails sコマンドでサーバを建てた後 http://localhost:3000/users/createに対してPOST命令をsendしました

発生している問題・エラーメッセージ

サーバ自体は立ち上がったと思うのですがPostman上に次のようなエラーメッセージが出ました。

{ "status": 500, "error": "Internal Server Error", "exception": "#<PG::ConnectionBad: could not connect to server: Connection refused\n\tIs the server running on host \"0.0.0.0\" and accepting\n\tTCP/IP connections on port 5432?\n>", "traces": { "Application Trace": [], "Framework Trace": [ { "id": 0, "trace": "pg (1.1.4) lib/pg.rb:56:in `initialize'" }, { "id": 1, "trace": "pg (1.1.4) lib/pg.rb:56:in `new'" }, { "id": 2, "trace": "pg (1.1.4) lib/pg.rb:56:in `connect'"  ・  ・  ・

このエラーからサーバ関係やポート番号が関係しているのだと思い、調べてみましたがわかりませんでした。
解決方法をご存知のかた、お力を貸してもらえませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/10/28 21:50

rails 側のログには何かメッセージは出ていませんか?
ts21

2019/10/29 06:37

ご返信いただきありがとうございます Docker-compose up db を行っていないのが原因でした。 事故解決しておきます
guest

回答1

0

自己解決

Docker-compose up db
を行っていないのが原因でした

投稿2019/10/29 06:37

ts21

総合スコア32

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問