すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

Ruby on Railsでアプリケーション作成の準備をしよう

この記事で出来るようになること

はじめに

この記事では「Ruby on Rails」でアプリケーションを作成する準備について説明します。 記事を読みながら実際に手を動かして、Cloud9にアプリケーションを準備していきましょう!

この記事の目標
  • 「Ruby on Rails」でCloud9にアプリケーションの基本セットアップを完了する
  • アプリケーションのデフォルトページをWebブラウザで表示する
  • 可視化ツールを導入し、Webブラウザでデータベースのデータ操作を可能にする
必要なもの・知識
この記事で完成するもの

「Ruby on Rails」でアプリケーションを作成する準備をして、以下のデフォルトページをWebブラウザで表示するところまで行います。

ブラウザからアプリケーションにアクセスするRailsアプリケーションのデフォルトページ

またデータを可視化できるツールの導入も行います。導入後は、データベースのデータをWebブラウザから操作できるようになります。

ログインに成功phpMyAdminのログイン後の画面

1.Railsアプリケーションの作成準備

Railsでアプリケーションを作成するには、まず雛形となる多数のフォルダやファイルを用意する必要があります。これらはrails newというコマンドを利用することで自動的に生成することができます。

Railsではどんなアプリケーションでも、最初に雛形を作成するところから始まるよ!

ぴかわかさん

rails new コマンドの使い方

rails newコマンドは、以下のようにターミナルでrails newの後に半角スペースを1つあけてアプリケーション名を指定します。

rails new の使い方
1
rails new アプリケーション名

上記を実行すると、カレントディレクトリ配下にRailsアプリケーションの土台となるフォルダやファイルを自動で生成してくれるので、開発効率が大幅にアップします。

他にもオプションを利用することで、「Railsのバージョン」や「データベース」などを指定して雛形を作成することができます。

Railsのバージョンを指定する場合
1
rails _バージョン_ new アプリケーション名 # このコマンドは実行しないでください
データベースを指定する場合
1
rails new アプリケーション名 -d データベース名 # このコマンドは実行しないでください
項目 指定方法 補足説明
Railsのバージョンを指定する rails _バージョン_ new アプリケーション名 未指定の場合は、最新のRailsバージョンが使用される
データベースの種類を指定する rails new アプリケーション名 -d データベース名 未指定の場合は、sqlite3が使用される

今回は雛形を作成する際に「Railsのバージョン」と「データベース」のどちらも指定するので、以下のようにターミナルに入力します。

Railsのバージョンとデータベースを指定する場合
1
rails _バージョン_ new アプリケーション名 -d データベース名 # このコマンドは実行しないでください

rails newコマンドを実行する

それでは実際にCloud9のIDEを開き、rails newコマンドでRailsアプリケーションの雛形を作成してみましょう。

カレントディレクトリを確認しよう

まずはCloud9のターミナルを開いて、カレントディレクトリが「environment」であることを確認しましょう。

Cloud9のターミナル(※画像は最大化してます。)

もしカレントディレクトリの表記が~/environmentではない方がいれば、以下のコマンドを必ず実行しておきましょう。

ターミナル | カレントディレクトリをenvironmentに変更する
1
cd ~/environment
Rubyのバージョンを確認しよう

Rubyのバージョンが「2.7.5」であることを確認するため、以下のようにターミナルでruby -vを実行しましょう。

ターミナル | Rubyのバージョンを確認する
1
ruby -v

rubyのバージョンを確認Cloud9のターミナル(rubyのバージョンが2.7.5)

もし表示されたRubyのバージョンが2.7.5ではない場合、Rubyのインストールやデフォルト設定がうまくいっていない可能性があります。その場合、「Rubyを用意しよう」の記事を再確認してください。

rails new コマンドで雛形を作成しよう

Railsアプリケーションの雛形を作成する際にRailsのバージョンを6.1.3.1、アプリケーション名をemployee_management、データベースをMariaDB※1に指定します。

以下のコマンドをターミナルで実行しましょう。
※1. -d mysqlと指定していますが、互換性の高いMySQLのコマンドを利用してMariaDBに接続します。

ターミナル | 新規アプリケーションを作成する
1
rails _6.1.3.1_ new employee_management -d mysql

以下のように少し時間がかかるので待ちましょう。

rails newを実行Cloud9のターミナル(Railsアプリケーションの雛形を生成中)

ターミナルにプロンプトが表示されたら、雛形の自動生成は完了です。

新規アプリケーション作成は完了Cloud9のターミナル(Railsアプリケーションの雛形生成を完了)

自動生成されたものを確認する

rails newコマンドが無事に完了すると、カレントディレクトリ配下にrails newコマンドで指定したアプリケーション名のフォルダが作成されます。

今回は~/environmentでアプリケーション名をemployee_managementに指定してrails newコマンドを実行しました。

Cloud9のターミナル(アプリケーション名の確認)

そのため、以下のようにカレントディレクトリのenvironment(pikawaka)配下にemployee_managementのフォルダが作成されていることが確認できます。

employee_managementのフォルダの中身は、以下のようなディレクトリ構造となっています。

雛形で自動生成されるディレクトリやファイル

このディレクトリ構造は多くのRailsアプリケーションに共通しているので、他の開発者のコードでも挙動を一定程度予想することが容易になり、チーム内で効率的なコミュニケーション、品質を安定させることができます。

たくさんのフォルダやファイルが存在しますが、主に利用する基本的なものを挙げます。

ファイル
ディレクトリ
説明
app/ アプリケーションの中心となるフォルダ(主要な機能などを格納)
config/ アプリケーションの設定情報
db/ データベースに関連する情報やファイルが保存されるフォルダ
public/ Webブラウザなどに直接公開されるデータを保存するためのフォルダ
Gemfile アプリケーションに必要なGemを定義するファイル
ぴっかちゃん

たくさんあって覚えるの大変そうだなぁ・・・。

今すぐに覚える必要はないよ!各ディレクトリやファイルの意味や目的については、必要な場面で手を動かしながら学ぶから安心してね。

ぴかわかさん
ポイント
  1. rails newコマンドを利用すると、Railsアプリケーションの雛形となる多数のフォルダやファイルを自動的に生成することができる
  2. ディレクトリ構造は多くのRailsアプリケーションに共通しているため、他の開発者のコードでも挙動を一定程度予想することが容易になる
  3. 上記により、複数人の開発でも品質を保ちながら効率的に開発を進められる

2.指定バージョンのGemを準備

Gemとは、Ruby言語用の外部ライブラリのことです。

今回はGemの依存関係に起因するエラーを防ぐため、デフォルトのGemのバージョンではなく、特定の固定されたバージョンのGemをアプリケーションにインストールします。Gemのインストールでは、Gemfilebundle installコマンドを使用します。

Gemのインストール方法

Gemをインストールするには、まずGemfileにGemを記述し、次にbundle installコマンドを実行します。これにより、記述したGemをインストールできます。

Gemfileには、以下のようにgemの後に半角スペースを1つ開け、Gemの名前をダブルクォーテーション(")またはシングルクォーテーション(')で囲んで記述します。

Gemfile | Gemの指定方法
1
gem 'Gem名' # 説明用

Gemのバージョンを指定する場合は、以下のように記述します。

Gemfile| バージョンを指定する場合
1
gem 'Gem名', 'バージョン' # 説明用

そして、ターミナルでbundle installコマンドを実行することで、Gemfileに記載されたGemをBundlerを通してインストールすることができます。

ターミナル | Gemをインストールする
1
bundle install # このコマンドは実行しないでください

Gemをインストールする

それでは実際に手を動かし、デフォルトではない固定バージョンのGemをアプリケーションにインストールしてみましょう。

テキストエディタでGemfileを開く

まずは、「employee_management」直下にある「Gemfile」をダブルクリックして、テキストエディタを開いてください。

GemfileをダブルクリックCloud9のメニューバー

以下の動画に示されているように、右側のテキストエディタで「Gemfile」が開かれていれば、完了となります。

Gemfileをエディタで開くCloud9のテキストエディタ(Gemfileを開く)

固定バージョンのGemに置き換えよう

次に、Gemfileの内容をデフォルトではなく、カリキュラムで使用する固定バージョンのGemに全て置き換えます。

デフォルトでのGemfileの内容を全て削除し、以下の内容にコピー&ペーストしてください。

Gemfile | カリキュラムで使用するGem
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.7.5'

gem 'rails', '~> 6.1.3', '>= 6.1.3.1'
gem 'mysql2', '0.5.3'
gem 'puma', '5.5.2'
gem 'sass-rails', '6.0.0'
gem 'webpacker', '5.4.3'
gem 'turbolinks', '5.2.1'
gem 'jbuilder', '2.11.5'
gem 'bootsnap', '1.10.1', require: false
gem 'net-http'

group :development, :test do
  gem 'byebug', '11.1.3'
end

group :development do
  gem 'web-console', '4.2.0'
  gem 'rack-mini-profiler', '2.3.3'
  gem 'listen', '3.7.1'
  gem 'spring', '3.1.1'
end

group :test do
  gem 'capybara', '3.36.0'
  gem 'selenium-webdriver', '4.1.0'
  gem 'webdrivers', '5.0.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

動画に示されているように内容を置き換えられたら、完了です。

Gemfileを置き換えるCloud9のテキストエディタ(固定バージョンのGemに置き換える)

カレントディレクトリを変更しよう

カレントディレクトリをemployee_managementに変更します。
まずはターミナルでlsコマンド(ファイルやディレクトリの一覧表示)を実行しましょう。

ターミナル | ファイルやディレクトリを一覧表示する
1
ls

「environment」の直下にある「employee_management」が画像のように表示されます。

employee_managementを表示Cloud9のターミナル(ファイルやディレクトリの一覧表示)

次にcdコマンド(カレントディレクトリの変更)を使用して、employee_managementに移動します。以下のコマンドをターミナルで実行しましょう。

ターミナル | カレントディレクトリをemployee_managementに変更する
1
cd employee_management

画像と同じようにemployee_managementに変更されているはずです。

カレントディレクトリをemployee_managementに変更Cloud9のターミナル(カレントディレクトリを変更)

pwdコマンド(カレントディレクトリの絶対パスを表示)でも確かめてみましょう。
以下のコマンドをターミナルで実行しましょう。

ターミナル | カレントディレクトリのフルパスを表示する
1
pwd

絶対パスが画像のように表示されていれば、カレントディレクトリの変更完了です。

カンレントディレクトリの変更完了Cloud9のターミナル(カレントディレクトリのフルパスを表示)

Gemをインストールしよう

最後にGemfileに記述した固定バージョンのGemをbundle installコマンドでインストールしましょう。

カレントディレクトリが「employee_management」になっていることを確認し、ターミナルで以下のコマンドを実行しましょう。

ターミナル | Gemをインストールする
1
bundle install

Gemのインストールが完了1Cloud9のターミナル(bundle installを実行)

以下のように「Bundle complete!」 というメッセージが表示され、その後にプロンプトが現れたら、Gemのインストールが完了したことを意味します。

Gemのインストールが完了2Cloud9のターミナル(Gemのインストールが完了)

他に必要なものもインストールしておこう

カレントディレクトリが「employee_management」になっていることを確認し、ターミナルで以下のコマンドを実行しましょう。

ターミナル | 複数のパッケージを一括でインストール
1
yarn add @babel/plugin-proposal-private-property-in-object @babel/plugin-proposal-private-methods  @babel/plugin-proposal-class-properties
ポイント
  1. Gemfileにはアプリケーションで使用するGemの一覧が記述される
  2. Gemのインストールは、まずGemfileにGemを記述し、次にbundle installコマンドを実行します。これにより、記述したGemをインストールできる

3.データベースの準備

Webアプリケーションを作るためには、データの保存先としてデータベースが必要です。

データベースとは、システムやユーザーが扱うデータを1つの場所に集めたものです。データベースでは、アプリケーションで作成されたデータを保存・蓄積し、必要なデータをすぐに取り出せるように整理しています。

ぴっかちゃん

データベースってなんだか難しそうだな...。

データベースについては別のカリキュラムで詳しく学ぶけど、Twitterのツイートや、Amazonの商品情報などが、データベースに保存されていると考えるとイメージしやすいかもね!

ぴかわかさん

Twitterのツイートでは、データベースに保存されたツイートが必要に応じて取り出され、HTMLの部品として取り扱われています。

Twitterのツイート

Railsでのデータベース作成方法

Ruby on Railsでデータベースを作成するには、database.ymlrails db:createコマンドを使用します。

database.ymlは、Railsアプリケーションで非常に重要な役割を果たすファイルです。このファイルは、Railsアプリケーションがデータベースとやりとりをする際の接続設定(例えば、使用するデータベースの種類など)が記されています。

以下はdatabase.ymlの一般的なデフォルトの設定です。

config/database.yml | 一般的なデフォルトの設定例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
default: &default
  adapter: sqlite3
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3

database.ymlは、rails newコマンドを実行して新しいRailsアプリケーションを作成する際、configディレクトリ内に自動的に生成されます。データベースを指定せずコマンドを実行すると、上記のようにSQLiteがデフォルトで使用される設定になります。

rails newコマンド実行時にデータベースを指定すると、database.ymlはそのデータベースをデフォルトで使用する設定で自動的に生成されます。

データベースを指定する場合
1
rails new アプリケーション名 -d データベース名 # このコマンドは実行しないでください

Railsでデータベースを作成するには、ターミナルでrails db:createコマンドを実行します。このコマンドを実行すると、database.ymlの設定に従ってデータベースが作成されます。

database.ymlの設定に従ってデータベースを作成する
1
rails db:create # このコマンドは実行しないでください

Railsでデータベースを作成する

それでは実際に手を動かし、 Railsでデータベースを作成してみましょう。

テキストエディタでdatabase.ymlを開く

まず、rails newコマンド実行時にconfigディレクトリ直下に自動生成されたdatabase.ymlをテキストエディタで開きましょう。

database.ymlを開く

database.ymlの内容を確認しよう

database.ymlを開くと、以下の内容が記載されています。

  • adapter: 使用するデータベースエンジン
  • database: データベースの名前
  • username: データベースに接続する際のユーザー名
  • password: データベースに接続する際のパスワード

rails newコマンドでアプリケーションを作成する際、データベースを以下のように指定しました。その結果、database.ymlではSQLiteではなくMariaDBがデフォルトで使用される設定になります。
※1. -d mysqlと指定していますが、互換性の高いMySQLのコマンドを利用してMariaDBに接続します。

新規アプリケーションを作成
1
rails _6.1.3.1_ new employee_management -d mysql # このコマンドは実行しないでください

環境構築時にMariaDBのrootユーザーのパスワードを設定していない場合、database.ymlのpassword欄は空欄のままでもMariaDBに接続可能です。基礎カリキュラムでは、開発環境のデータベースを使用するため、特にパスワード設定は行いません。

Railsの3つの環境を確認しよう

Ruby on Railsでは、アプリケーション開発を支援するため、開発環境、テスト環境、および本番環境の3つの環境が、それぞれ特定の用途に最適化されて用意されています。

Railsの3つの環境

  • 開発環境: アプリケーション開発を行う主要な環境
  • テスト環境: アプリケーションのテストを実施する環境
  • 本番環境: リリースされるアプリケーションをユーザーに提供する環境

database.ymlでは、各環境に対してデータベースの設定が個別にデフォルトで定義されています。また、データベースの名前も環境ごとに異なります。

データベースも環境ごとに違う

ぴっかちゃん

環境ごとにデータベースを用意するようになっているんだね!

これによってデータを共有しなくて済むよ。たとえば本番環境のデータに影響を与えることなく、開発環境での作業を行うことができるよ

ぴかわかさん

次に12行目のdefault: &defaultを確認します。

default: &defaultでは、すべての環境で共通する設定を記述します。<<: *defaultを用いて、他の環境の設定でこれを呼び出し、利用することができます。

database.ymlの内容

データベースを作成しよう

database.ymlはデフォルトのまま特に変更せず、データベースを作成します。

カレントディレクトリが~/environment/employee_managementであることを確認し、以下のコマンドをターミナルで実行してください。カレントディレクトリの変更は、cd ~/environment/employee_managementを実行することで行えます。

ターミナル(~/environment/employee_management) | データベースを作成する
1
rails db:create

コマンドを実行すると、以下の画像のようにemployee_management_developmentという名前の開発環境用データベースとemployee_management_testという名前のテスト環境用データベースが作成されます。

2つのデータベースを作成

基礎カリキュラムでは、employee_management_developmentの開発環境用データベースを使用します。

ぴかわかさん
ポイント
  1. database.ymlとは、 Railsアプリケーションにおいて、各種環境(開発環境、テスト環境、本番環境など)で使用されるデータベースの接続情報を定義するためのファイルのこと
  2. rails newコマンド実行時に、自動的にdatabase.ymlが生成される
  3. rails db:createコマンドを実行すると、database.ymlに基づいてデータベースが作成される

phpMyAdminでデータを可視化する

phpMyAdmin

phpMyAdminとは、Webブラウザ上でMariaDBの操作や管理を行えるソフトウェアです。

MariaDBを操作するには、ターミナルを開いてコマンドを打ち込む必要がありましたが、phpMyAdmin導入後は、Webブラウザ上で簡単に操作することができます。

phpMyAdminを利用する場合

ぴっかちゃん

phpMyAdminを導入すれば、MariaDBをCUI(文字だけで操作を行う方式)ではなくGUIで操作できるってことだね!

phpMyAdminの導入・設定

それでは、実際に手を動かしてみましょう。phpMyAdminを導入し、Webブラウザからデータベースを操作できるように設定していきます。

カレントディレクトリをpublicに変更しよう

publicディレクトリは、Webブラウザから直接アクセス可能なファイルを格納する場所として使用されます。

public

まず、カレントディレクトリをpublicに変更しましょう。
ターミナルで以下のコマンドを実行します。

ターミナル | カレントディレクトリをpublicに変更する
1
cd ~/environment/employee_management/public

もし画像と同様の表記がされているなら、カレントディレクトリをpublicに変更できています。それでは、次に進みましょう。

カレントディレクトリを変更

phpMyAdminをインストールしよう

まず、コマンドで公式サイトからphpMyAdminをダウンロードします。

コマンドの実行に進む前に、カレントディレクトリがpublicであることを確認してください。確認ができましたら、ターミナルで以下のコマンドを実行してください。

ターミナル(~/environment/employee_management/public)| phpMyAdminをダウンロードする
1
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip 

zipファイルのダウンロードが完了

コマンドを実行すると、publicディレクトリ直下にphpMyAdmin-5.1.1-all-languages.zipがダウンロードされることが、以下の画像のように確認できます。

phpMyAdmin-5.1.1-all-languages.zip

次に、phpMyAdmin-5.1.1-all-languages.zipをunzipコマンドで解凍します。

コマンドの実行に進む前に、カレントディレクトリがpublicであることを確認してください。確認ができましたら、ターミナルで以下のコマンドを実行してください。

ターミナル(~/environment/employee_management/public)| ダウンロードしたzipファイルを解凍する
1
unzip phpMyAdmin-5.1.1-all-languages.zip

ファイルを解凍する

コマンドを実行した後、解凍されたphpMyAdmin-5.1.1-all-languagesが以下のようにpublicディレクトリ内にあることを確認してみましょう。

phpMyAdmin-5.1.1-all-languagesを表示

最後にphpMyAdmin-5.1.1-all-languages.zipは不要ですので、rmコマンドを使用して削除します。

コマンドの実行に進む前に、カレントディレクトリがpublicであることを確認してください。確認ができましたら、ターミナルで以下のコマンドを実行してください。

ターミナル(~/environment/employee_management/public)| ダウンロードしたzipファイルを削除する
1
rm phpMyAdmin-5.1.1-all-languages.zip

zipファイルを削除する

phpMyAdminの設定ファイルを作成しよう

phpMyAdminの設定ファイル名はconfig.inc.phpですが、ダウンロードしたファイルには含まれていないため、作成が必要です。

phpMyAdmin-5.1.1-all-languagesディレクトリ内のconfig.sample.inc.phpをコピーし、phpMyAdminの設定ファイルを作成します。

config.sample.inc.php

まず、カレントディレクトリをphpMyAdmin-5.1.1-all-languagesに変更しましょう。ターミナルで以下のコマンドを実行します。

ターミナル| カレントディレクトリを変更する
1
cd ~/environment/employee_management/public/phpMyAdmin-5.1.1-all-languages

カレントディレクトリを変更する

次にconfig.sample.inc.phpをコピーし、config.inc.phpを作成しましょう。
ターミナルで以下のコマンドを実行します。

ターミナル| 内容をコピーして設定ファイルを作成する
1
cp config.sample.inc.php config.inc.php

内容をコピーして設定ファイルを作成する

実行すると、phpMyAdmin-5.1.1-all-languagesディレクトリ直下にconfig.inc.phpが作成されることが、以下の画像のように確認できます。

設定ファイル

config.inc.phpの設定を変更しよう

最後にconfig.inc.phpの設定を変更しましょう。
config.inc.phpをダブルクリックし、テキストエディタで開きます。

config.inc.phpを開く

config.inc.phpの32行目の$cfg['Servers'][$i]['AllowNoPassword'] = false;を、以下の画像に示されているようにfalsetrueに変更してください。

config.inc.phpの32行目をtrueに変更する
1
$cfg['Servers'][$i]['AllowNoPassword'] = true;

置き換える箇所

上記の設定により、パスワードなしでphpMyAdminにログインすることが可能になります。

ぴかわかさん

phpMyAdminの起動手順

それでは、phpMyAdminの起動手順を確認しましょう。以下の手順を踏むことで、phpMyAdminを用いてデータベース管理が可能になります。

phpMyAdminの起動手順
  1. Cloud9でターミナルを開く
  2. phpMyAdmin-5.1.1-all-languagesディレクトリに移動する
  3. PHPビルトインウェブサーバーを起動する
  4. MariaDBサーバーを起動する(自動起動を設定済み)
  5. Webブラウザを開き、phpMyAdminにアクセスする
  6. ログインして、データベース管理を行う

なお、MariaDBサーバーは自動起動を設定済みですので、特別な操作は必要ありません。
もし手順の途中で問題が発生した場合、各ステップを再確認し、正しい実行が行われているかチェックしてください。

Cloud9でターミナルを開く

まず、Cloud9でターミナルを開きましょう。

カレントディレクトリを変更しよう

カレントディレクトリをphpMyAdmin-5.1.1-all-languagesに変更しましょう。
ターミナルで以下のコマンドを実行します。

ターミナル| カレントディレクトリを変更する
1
cd ~/environment/employee_management/public/phpMyAdmin-5.1.1-all-languages

カレントディレクトリを変更する

PHPビルトインウェブサーバーを起動しよう

Cloud9では、簡単にphpMyAdminを動かすために、PHPが持っているシンプルなウェブサーバーを使います。

コマンドの実行に進む前に、カレントディレクトリがphpMyAdmin-5.1.1-all-languagesであることを確認してください。確認ができましたら、ターミナルで以下のコマンドを実行してください。

ターミナル | サーバーを起動させる
1
php -S 127.0.0.1:8081

Press Ctrl-C to quit.まで表示されたら起動完了です。

サーバーを起動したターミナルではログが出力され続けます。その間、他のコマンドを実行することができないので、以下のように別タブで新しいターミナルを開いておきましょう。

別タブで新しいターミナルを開く

phpMyAdminにアクセスしよう

IDE上部にある「Preview」>「Preview Running Application」をクリックしてください。

Preview Running Applicationを開く

次のようにプレビューウィンドウが表示されます。

プレビューのウィンドウが表示

以下の画像の通り、Browserの右側にあるマークをクリックしてください。

ブラウザを開く

Webブラウザの別タブでプレビューが開きますので、URLの末尾に:8081を追記し、Enterキーまたはreturnキーを押して検索してください。

:8081を追記する

注意点

:8081は半角で入力し、.comの直後にスペースを入れずに追記してください。ログイン画面が表示されない場合は、こちらをご確認ください。

このログイン画面は頻繁に使用するため、ブックマークしておくと便利です。

ログイン画面が表示

phpMyAdminにログインしよう

それでは、phpMyAdminにログインしましょう。ユーザー名の欄に「root」と半角英字で入力し、実行ボタンをクリックしてください。

phpMyAdminのログイン画面

注意点

ログインできない場合は、config.inc.phpファイルの設定が正しく行われているか、こちらの手順に沿って確認してください。

ログインに成功すると、次のような画面が表示されます。

ログインに成功

データベースを確認しよう

rails db:createコマンドで、既に開発環境とテスト環境のデータベースを作成していましたね。

2つのデータベースを作成

これらのデータベースが存在するか確認してみましょう。
画面上部の「データベース」という部分をクリックしてください。

データベースを確認する

すると、データベース一覧が表示されます。

コマンドで作成した「employee_management_development」と「employee_management_test」というデータベースがリストにありますね。

データベース一覧

また、画面上部の「データベース」以外にも、サイドバーの「employee」>「management」からも確認が可能です。

データベース確認

以上でデータベースの準備が完了しました!ここまで問題なく進めた場合、次のエラー対処方法をスキップし、Railsアプリケーションの起動方法に進んでください。

ぴかわかさん
ポイント

phpMyAdminは、Webブラウザを通じてMariaDBの操作や管理を行えるソフトウェアです。利用時にPHPビルトインウェブサーバーを起動する必要があります。

phpMyAdminのエラー対処方法

phpMyAdminのエラー

上記のエラーが表示された場合、以下の項目を確認してください。

MariaDBの起動状態の確認方法

MariaDBの状態から確認します。
ターミナルで以下のコマンドを実行してください。

ターミナル | MariaDBの状態を確認する
1
sudo systemctl status mariadb

画像の通りに表示されれば、MariaDBが正常に起動しています。MariaDBが原因ではないため、次に進みましょう。

起動している場合

もし起動していない場合は、こちらの手順に従ってMariaDBを起動し、その後の自動設定も必ず実施してください。

データベースが作成されているかを確認

カレントディレクトリが~/environment/employee_managementであることを確認し、以下のコマンドをターミナルで実行してください。

ターミナル(~/environment/employee_management) | データベースを作成する
1
rails db:create

上記を実行した際、すでに作成済みの場合は、already existsと表示されます。データベースが原因ではないので、次に進みましょう。

以下の画像のようにデータベースが作成されている場合、データベース作成段階での不具合が原因でした。

2つのデータベースを作成

phpMyAdminの設定ファイルを確認する

phpMyAdmin-5.1.1-all-languagesディレクトリ直下にconfig.inc.phpというファイルが存在するかを確認してください。

設定ファイル

もしconfig.inc.phpというファイルが存在していない場合は、こちらの手順に従って導入や設定を見直してください。

PHPビルトインウェブサーバーの起動方法

カレントディレクトリがphpMyAdmin-5.1.1-all-languagesであることを確認してください。確認ができましたら、ターミナルで以下のコマンドを実行してください。

ターミナル | サーバーを起動させる
1
php -S 127.0.0.1:8081

Press Ctrl-C to quit.まで表示されたら起動完了です。

4.Railsのサーバーを立ち上げる

最後に、Ruby on Railsの開発サーバーを起動し、Webブラウザでデフォルトページを表示させます。rails serverコマンドを利用することで、開発サーバーを起動できます。

ブラウザからアプリケーションにアクセスするRailsアプリケーションのデフォルトページ

rails server コマンドの使い方

rails serverコマンドは、Railsアプリケーションの開発環境を起動するためのコマンドです。このコマンドを実行すると、Webアプリケーションサーバーが内部的に起動し、Webブラウザを通じてRailsアプリケーションの動作や画面を確認することができます。

コマンドの使い方は、ターミナルでRailsアプリケーションのルートディレクトリに移動した後、rails server または rails s と入力して実行します。

ターミナル(Railsアプリケーションのルートディレクトリ)
1
2
3
4
5
rails server
# 上記のコマンドは、Railsアプリケーションのサーバーを起動します。

# 短縮形として、以下のコマンドでも同じ操作を実行できます。
rails s

通常、サーバーを起動後、Webブラウザで http://localhost:3000 にアクセスすると、Railsアプリケーションのデフォルトページが表示されます。しかし、Cloud9を利用する場合は手順が少し異なります。

Cloud9のIDEには「Preview」というオプションが存在します。この機能を利用することで、起動したRailsアプリケーションをブラウザで直接確認することができます。

具体的には、Previewのメニューから「Preview Running Application」を選択すると、新しいタブでアプリケーションが開きます。

Rails 6以降、セキュリティの向上を目的としてアクセス制限が導入されました。Cloud9のような外部の環境からアクセスする際、この制限によりアクセスが制約されることがあるため、config.hosts.clearという設定を追加する必要があります。

この設定については、実際に操作しながら詳しく確認します。

rails serverコマンドを実行する

それでは実際にrails serverコマンドを実行し、Webブラウザを通じてRailsアプリケーションのデフォルトページを確認してみましょう。

設定ファイルにconfig.hosts.clearを追記しよう

Railsでは、それぞれの環境ごとに専用の設定ファイルが用意されています。開発環境の設定ファイルは、config/environmentsディレクトリ内のdevelopment.rbです。

まず、development.rbをテキストエディタで開きましょう。

Cloud9の環境でWebブラウザからRailsアプリケーションにアクセスするため、次にdevelopment.rbconfig.hosts.clearを追記しましょう。

development.rb
1
config.hosts.clear

development.rbの設定を変更する

上記の設定により、Cloud9のようなクラウド上の開発環境からでもRailsアプリケーションにアクセスすることが可能となります。

Railsアプリケーションの開発環境を起動しよう

まず、ターミナルで以下のコマンドを実行し、employee_managementというRailsアプリケーションのルートディレクトリに移動しましょう。

ターミナル | employee_managementディレクトリに移動する
1
cd ~/environment/employee_management

次に、ターミナルでrails serverまたはrails sを実行しましょう。

ターミナル(~/environment/employee_management)
1
rails s

「Use Ctrl-C to stop」まで表示されたら、起動が完了しています。

Webサーバーを起動

Webブラウザでデフォルトページを表示しよう

最後に、WebブラウザでRailsアプリケーションのデフォルトページを表示してみましょう。

IDEの上部に「Preview」>「Preview Running Application」がありますので、それをクリックしてください。

Preview Running Applicationを開く

次に、プレビューウィンドウが表示されますので、Browserの右側にあるマークをクリックしてみましょう。

プレビューのウィンドウ

その後、以下の画像と同様の画面が表示されれば、アプリケーションへのアクセスは正常に行われています。

ブラウザからアプリケーションにアクセスする

以上でRailsのデフォルトページの表示は完了です。お疲れ様でした!

ぴかわかさん
ポイント
  1. rails serverコマンドを実行すると、デフォルトでRailsアプリケーションの開発環境が起動する
  2. 開発環境を起動すると、Webブラウザを通じてアプリケーションの動作や画面を確認することができる
  3. 特にCloud9のIDEでは、「Preview」オプションを利用して、起動したRailsアプリケーションを直接ブラウザで確認することが可能

この記事のまとめ

本記事では、Railsアプリケーションの基本的なセットアップに必要な手順を学びました。まず、「rails new」コマンドで新しいアプリケーションを作成し、特定のバージョンのGemをインストールしましたね。その後、データベースを作成し、phpMyAdminツールを使って作成したデータベースを確認する方法を学びました。最後に「rails server」コマンドでRailsアプリケーションの開発環境を起動し、Webブラウザを通じてアプリケーションの動作を確認する手法を把握しました。

この記事のまとめ

  • 新しいRailsアプリケーションを作成する際、「rails new」コマンドを利用することで、効率的にセットアップを行うことができる
  • 多くのアプリケーションは、データの保存と取り扱いのためにデータベースを必要とする
  • Railsアプリケーションの開発は、一般的に開発環境を起動し、Webブラウザで画面や動作を確認しながら進める