QA@IT
«回答へ戻る

5599
 だとすれば、productionではそのようになります。
 
 一番手っ取り早いのはローカル環境でproductionで動かしてみればいいんですが、
-postgresがインストールされていないと設定変えないと動かないと思います。
+postgresがインストールされていないと設定変えないと動かないかもしれません(DB使ってなければ動くと思います)。
+動かない場合は別のディレクトリで新しいアプリケーションで試してみてください。
 
-(そういう場合は別のディレクトリで新しいアプリケーションで試してみてください。)
-
 ```
 rails s -e production
 ```
 とすると、production環境モードで実行できます。
-これで localhost:3000 にアクセスしたときと同じように表示されるのであれば問題ありません。
+これで `localhost:3000` にアクセスしたときと同じように表示されるのであれば問題ありません。
+お気づきかもしれませんが、ここで表示されているのはpublicの404.htmlです。
 
 ---
 
-rails 4より前は public/index.html が自動的に生成されていました。
+rails 4より前は public/index.html (Welcomeページ)が自動的に生成されていました。
+このため、最終的にこのファイルを削除するとか、rails new で --skip-index-html 付きで実行してindex.htmlが作成されないようにする必要がありました。
 
-一旦ここで投稿します。また追記します。
+rails 4ではその手間を省くため(だと思います)、Welcomeページは developmentの場合に`rails/welcome#index`を呼ぶような処理に変更されています。
+https://github.com/rails/rails/blob/master/railties/lib/rails/application/finisher.rb#L22
+
+
+public にindex.html を置くのは間違いではないんですが、最終的には / を解決するコントローラを置くことになると思います。

コメントを見る限り、特にルートを処理するコントローラを作ったわけではないように見受けられます。
だとすれば、productionではそのようになります。

一番手っ取り早いのはローカル環境でproductionで動かしてみればいいんですが、
postgresがインストールされていないと設定変えないと動かないかもしれません(DB使ってなければ動くと思います)。
動かない場合は別のディレクトリで新しいアプリケーションで試してみてください。

rails s -e production

とすると、production環境モードで実行できます。
これで localhost:3000 にアクセスしたときと同じように表示されるのであれば問題ありません。
お気づきかもしれませんが、ここで表示されているのはpublicの404.htmlです。


rails 4より前は public/index.html (Welcomeページ)が自動的に生成されていました。
このため、最終的にこのファイルを削除するとか、rails new で --skip-index-html 付きで実行してindex.htmlが作成されないようにする必要がありました。

rails 4ではその手間を省くため(だと思います)、Welcomeページは developmentの場合にrails/welcome#indexを呼ぶような処理に変更されています。
https://github.com/rails/rails/blob/master/railties/lib/rails/application/finisher.rb#L22

public にindex.html を置くのは間違いではないんですが、最終的には / を解決するコントローラを置くことになると思います。

コメントを見る限り、特にルートを処理するコントローラを作ったわけではないように見受けられます。
だとすれば、productionではそのようになります。

一番手っ取り早いのはローカル環境でproductionで動かしてみればいいんですが、
postgresがインストールされていないと設定変えないと動かないかもしれません(DB使ってなければ動くと思います)。
動かない場合は別のディレクトリで新しいアプリケーションで試してみてください。

```
rails s -e production
```
とすると、production環境モードで実行できます。
これで `localhost:3000` にアクセスしたときと同じように表示されるのであれば問題ありません。
お気づきかもしれませんが、ここで表示されているのはpublicの404.htmlです。

---

rails 4より前は public/index.html (Welcomeページ)が自動的に生成されていました。
このため、最終的にこのファイルを削除するとか、rails new で --skip-index-html 付きで実行してindex.htmlが作成されないようにする必要がありました。

rails 4ではその手間を省くため(だと思います)、Welcomeページは developmentの場合に`rails/welcome#index`を呼ぶような処理に変更されています。
https://github.com/rails/rails/blob/master/railties/lib/rails/application/finisher.rb#L22


public にindex.html を置くのは間違いではないんですが、最終的には / を解決するコントローラを置くことになると思います。

回答を投稿

コメントを見る限り、特にルートを処理するコントローラを作ったわけではないように見受けられます。
だとすれば、productionではそのようになります。

一番手っ取り早いのはローカル環境でproductionで動かしてみればいいんですが、
postgresがインストールされていないと設定変えないと動かないと思います。

(そういう場合は別のディレクトリで新しいアプリケーションで試してみてください。)

rails s -e production

とすると、production環境モードで実行できます。
これで localhost:3000 にアクセスしたときと同じように表示されるのであれば問題ありません。


rails 4より前は public/index.html が自動的に生成されていました。

一旦ここで投稿します。また追記します。

コメントを見る限り、特にルートを処理するコントローラを作ったわけではないように見受けられます。
だとすれば、productionではそのようになります。

一番手っ取り早いのはローカル環境でproductionで動かしてみればいいんですが、
postgresがインストールされていないと設定変えないと動かないと思います。

(そういう場合は別のディレクトリで新しいアプリケーションで試してみてください。)

```
rails s -e production
```
とすると、production環境モードで実行できます。
これで localhost:3000 にアクセスしたときと同じように表示されるのであれば問題ありません。

---

rails 4より前は public/index.html が自動的に生成されていました。

一旦ここで投稿します。また追記します。