【Ruby on Rails】アプリケーションを作成してデフォルトページを表示するまでの手順！

# 新規Railsプロジェクトの作成（Rails6）
本記事はRuby on Railsで新規プロジェクトを作成する方法を解説したものです。
環境構築が終わっていない方は以下の記事を参考に環境構築を進めてください。

- MacOS
 - [0から Ruby on Rails の環境構築【macOS】 (Homebrew のインストールから Rails のインストールまで)](https://qiita.com/techpit-jp/items/1bcd0f4106330b5b827c)
- Cloud9
  - [0からRuby on Railsの環境構築【Cloud9】(Rubyのバージョン変更からRailsのインストールまで)](https://qiita.com/techpit-jp/items/ac94b6ed80b77336fdf8)

他にもプログラミング学習に役立つような情報を発信しています！[アカウントをフォロー](https://qiita.com/techpit-jp)してお待ちください！

## ゴール
今回の目標は「ローカルサーバーを立ち上げて、Railsのデフォルトページを表示する」ことです。

![image](https://i.gyazo.com/63fef1182934fdc07ffcbac00b03439c.png)


## ゴールまでの流れ
ゴールまでの手順は次のとおりです。

1. ローカルにインストールされたRailsのバージョンを確認
2. 新規Railsアプリケーションを作成
3. 作成したディレクトリに移動
4. データベースを作成
5. ローカルサーバーを起動
6. Railsのデフォルトページを表示

それでは、実際にWebアプリケーションの作成を行いましょう。


## 1. ローカルにインストールされているRailsのバージョンの確認
新規Railsアプリケーションを作成する前に、ローカルにインストールされたRailsのバージョンを確認します。

ターミナル上で、次のコマンドを入力してください。

```console
gem search ^rails$ -l
```

コマンドを実行すると、次のような結果が表示されます。

```console
gem search ^rails$ -l

*** LOCAL GEMS ***

rails (6.0.3.4)
```

「Rails6.0.3.4」がインストールされていることがわかります。

表示されたバージョンを使って、Railsアプリケーションを作成します。


## 2. 新規Railsアプリケーションの作成
RailsでWebアプリケーションを新規作成します。

Webアプリケーションの新規作成では、**rails newコマンド**を入力します。

`rails new`コマンドでは命令文の最後に作成するアプリケーション名を指定します。

**【例】**

```console
rails new 作成するアプリケーション名
```

今回はRails6.0.3.4を使って「**techpit-match**」という名前のアプリケーションを作成します。

次のコマンドを入力します。

```console
rails _6.0.3.4_ new techpit-match --database=postgresql
```

命令文の`rails`と`new`の間にRailsのバージョンを入力すると、Railsのバージョンを指定できます（ここではローカルにある6.0.3.4を指定）。

また`--database=`で利用するデータベースを指定できます（ここでは`postgresql`を指定）。

※Cloud9で`postgresql`を指定するとエラーが発生する場合があります。
その場合は、データベースを指定せずにコマンドを実行しましょう。

`rails new`コマンドで「techpit-match」というディレクトリ（フォルダ）が作成されました。


## 3. 作成したディレクトリに移動
**cdコマンド**を使って、新たに作成した「techpit-match」ディレクトリに移動します。

ちなみに「cd」は、change directory（ディレクトリを移動する）の略です。

ディレクトリ移動を行う命令文は、次の表現になります。

**【例】**

```console
cd 移動したいディレクトリ名
```

今回は「techpit-match」ディレクトリに移動するため、次のコマンドを入力します。

```console
cd techpit-match
```

コマンドを実行すると、「techpit-match」ディレクトリに移動します。


## 4. データベースを作成
「techpit-match」ディレクトリ内にローカルサーバーを立ち上げるために、データベースを作成します。

データベースを作成するには、次のコマンドを入力します。

```console
rails db:create
```

コマンドを実行すると、次の実行結果が表示されます。

```console
rails db:create
Created database 'techpit_match_development'
Created database 'techpit_match_test'
```

`rails db:create` コマンドを実行すると、`config/database.yml`ファイルを元にデータベースを作成します。

`config/database.yml`ファイルには、データベースに関する設定が記述されているファイルです。実際にファイルの中身を見てみましょう。

```config/database.yml
# 中略
# Configure Using Gemfile
# gem 'pg'
#
default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # https://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: techpit_match_development

  # 中略

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: techpit_match_test

# As with config/credentials.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
# 中略
```

以下のコードを見てください。

```config/database.yml
development:
  <<: *default
  database: techpit_match_development

  # 中略

test:
  <<: *default
  database: techpit_match_test
```

`development`は開発用という意味で、`test`はテスト用という意味になります。

`database`はデータベース名を指定しています。今回でいうと開発用は`techpit_match_development`、テスト用は`techpit_match_test`という名前でデータベースを作成しています。


## 5. ローカルサーバーを起動
ローカルサーバーを立ち上げるには、次のコマンドを入力します。

```console
rails server
```

コマンドを実行するとサーバーが起動します（`rails s`と省略することも可能）。

うまくサーバーが起動すると、ターミナルで次のように表示されます。

```console
rails server
=> Booting Puma
=> Rails 6.0.3.2 application starting in development 
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.5 (ruby 2.7.1-p83), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:3000
* Listening on tcp://[::1]:3000
Use Ctrl-C to stop
```


## 6. Railsのデフォルトページを表示
ローカルサーバーを起動したら、ブラウザで「http://localhost:3000/ 」にアクセスします。

次の画像のようにRailsのデフォルトページが表示されていれば、うまく動作しています。

※Cloud9では一部設定が必要になります。以下の記事を参考に修正を行ってください。
[【Cloud9】Ruby on Railsでrails sしたときにBlocked hostが表示された時の対処法](https://qiita.com/techpit-jp/items/7604c090407ee819b51a)

![image](https://i.gyazo.com/63fef1182934fdc07ffcbac00b03439c.png)


本記事は以上です。
今後もRailsに関する記事を投稿していきますので、[アカントをフォロー](https://qiita.com/techpit-jp)してお待ちください。