教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
この回からは、RailsでWebアプリケーションを作成していきます(Rails6の環境がある前提で解説します)。
今回の目標は「ローカルサーバーを立ち上げて、Railsのデフォルトページを表示する」ことです。
ゴールまでの手順は次のとおりです。
それでは、実際にWebアプリケーションの作成を行いましょう。
新規Railsアプリケーションを作成する前に、ローカルにインストールされたRailsのバージョンを確認します。
ターミナル上で、次のコマンドを入力してください。
Copied!gem search ^rails$ -l
コマンドを実行すると、次のような結果が表示されます。
console Copied!gem search ^rails$ -l
*** LOCAL GEMS ***
rails (6.0.3.2, 6.0.3)
「Rails6.0.3.2」と「Rails6.0.3」がインストールされていることがわかります。
これらのバージョンのいずれかを使って、Railsアプリケーションを作成します。
※ Rails6のバージョンがインストールされていない場合は、「0-3 Ruby on Rails の環境構築(macOS)」のパートでインストールしてください。
RailsでWebアプリケーションを新規作成します。
Webアプリケーションの新規作成では、rails newコマンドを入力します。
rails new
コマンドでは命令文の最後に作成するアプリケーション名を指定します。
Copied!rails new 作成するアプリケーション名
今回はRails6.0.3.2を使って「memo-app」という名前のアプリケーションを作成します。
次のコマンドを入力します。
Copied!rails _6.0.3.2_ new memo-app --database=postgresql
命令文のrails
とnew
の間にRailsのバージョンを入力すると、Railsのバージョンを指定できます(ここではローカルにある6.0.3.2を指定)。
また--database=
で利用するデータベースを指定できます(ここではpostgresql
を指定)。
rails new
コマンドで「memo-app」というディレクトリ(フォルダ)が作成されました。
cdコマンドを使って、新たに作成した「memo-app」ディレクトリに移動します。
ちなみに「cd」は、change directory(ディレクトリを移動する)の略です。
ディレクトリ移動を行う命令文は、次の表現になります。
Copied!cd 移動したいディレクトリ名
今回は「memo-app」ディレクトリに移動するため、次のコマンドを入力します。
Copied!cd memo-app
コマンドを実行すると、「memo-app」ディレクトリに移動します。
「memo-app」ディレクトリ内にローカルサーバーを立ち上げるために、データベースを作成します。
データベースを作成するには、次のコマンドを入力します。
Copied!rails db:create
コマンドを実行すると、次の実行結果が表示されます。
console Copied!rails db:create
Created database 'memo_app_development'
Created database 'memo_app_test'
rails db:create
コマンドを実行すると、config/database.yml
ファイルを元にデータベースを作成します。
config/database.yml
ファイルには、データベースに関する設定が記述されているファイルです。実際にファイルの中身を見てみましょう。
config/database.yml
yml123456789101112131415161718192021222324252627 Copied!# 中略
#
# 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: memo_app_development
# The specified database role being used to connect to postgres.
# 中略
# Do not set this db to the same as development or production.
test:
<<: *default
database: memo_app_test
# As with config/credentials.yml, you never want to store sensitive information,
#
# 中略
以下のコードを見てください。
yml123456789 Copied!development:
<<: *default
database: memo_app_development
# 中略
test:
<<: *default
database: memo_app_test
development
は開発用という意味で、test
はテスト用という意味になります。
database
はデータベース名を指定しています。今回でいうと開発用はmemo_app_development
、テスト用はmemo_app_test
という名前でデータベースを作成しています。
ローカルサーバーを立ち上げるには、次のコマンドを入力します。
Copied!rails server
コマンドを実行するとサーバーが起動します(rails s
と省略することも可能)。
うまくサーバーが起動すると、ターミナルで次のように表示されます。
console Copied!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
ローカルサーバーを起動したら、ブラウザで「http://localhost:3000/ 」にアクセスします。
次の画像のようにRailsのデフォルトページが表示されていれば、うまく動作しています。
以上で今回のパートは終了です。
お疲れさまでした。