Windowsで始めるRuby on Rails入門【2.scaffold】

どうも、tatsuです!

この記事はWindows環境でのRuby on Railsの入門記事シリーズの1つとなります。

前回記事はコチラ↓↓

Windowsで始めるRuby on Rails入門【1.環境構築】

2018.10.17

今回は第二回目として、scaffoldを使ってWebサービスのサンプルを作ってみましょう。

準備

まず、ソースコードを保存するための作業ディレクトリを作りましょう。

どこにどんな名前で作ってもかまいませんが、参考として私はCドライブ直下にrails_projectというディレクトリを作成しました。

C:\rails_project

新しくアプリケーションを作る【rails new XXX】

それではコマンドプロンプトを開き、さきほど作成したディレクトリに移動してください。

cd C:\rails_project

移動できたら以下のコマンドを実行します。

rails new sampleApp -TB –database=postgresql
オプションの注意
「–database=postgresql」オプションですが、先頭は-(ハイフン)が2つになります。

1つにするとうまくいかないので注意してください。

databaseの指定
SQLiteを使う場合はオプションを付ける必要はないのですが、今回はPostgreSQLを使用するため「-TB –database=postgresql」というオプションを付けています。

実行が完了すると、rails_projectディレクトリ配下にsampleAppディレクトリが作成されているかと思います。

DB設定

そうしたら、PostgreSQLを使うために設定ファイルを書き換える必要があるため、以下のファイルを開きます。
※そのままでは開けないと思うのでテキストエディタを指定して開いてください。

C:\rails_project\sampleApp\config\database.yml

database.yml【変更前】

「#」で始まる行はコメントですので、それを除くと以下のような記述があるかと思います。

defaultとなっている部分が基本設定で、developmentが開発用DB、testがテスト用DB、productionが製品用DBとなっています。

基本的にはdevelopmentがデフォルトDBとして使用されるため、sampleapp_developmentというDBを後で作っていきます。(名前は任意で変えることができます。)

ファイルの変更箇所としてはdefaultとdevelopmentの部分を次のように変更してください。

database.yml【変更後】

ユーザー名やDB名について
PostgreSQLでは大文字も小文字もすべて小文字として登録されてしまうようなので(しっかりと確認はとれていませんが、私の環境ではそうなりました。例:testUser > testuser として登録される)、小文字推奨です。

これでdatabase.ymlの変更は完了です。

PostgreSQLにユーザーとDBを作る

それでは次にPostgreSQLに先程設定したユーザーやDBを作成していきます。

コマンドプロンプトで以下のコマンドを実行してください。

createuser -a -d -U postgres -P 【ユーザー名】
実行するとパスワードも一緒に作成するように促されるのでその通りにします。
ユーザーの作成は完了です。

次にDBを作成します。
コマンドプロンプトで以下のコマンドを実行してください。

psql -U postgres
実行するとPostgreSQLインストール時に設定したスーパーユーザーのパスワードを求められますので入力してください。

ログインできると「postgres=#」のようになります。

「postgres=#」の状態で以下のコマンドを実行してください。

create database sampleapp_development owner 【ユーザー名】;

これでDBの作成も完了です。

「postgres=#」から抜ける方法
「postgres=#」から抜ける方法は、以下のコマンドを実行すればOKです。
「\q」

接続の確認

それではちゃんと接続できるか確認したいと思います。

コマンドプロンプトで以下のコマンドを実行してください。

cd C:\rails_project\sampleApp
rails server -b localhost
しばらくするとサーバーが立ち上がるはずです。
注意
本当はバックグラウンドで動かすためにオプションを指定したいのですが、どうやらWindowsではデーモンが使えないみたいなので、一度サーバーを立ち上げたらそのコマンドプロンプトは閉じないでそのままにしておいてください。

なので、他のコマンドを実行したい場合はもう一つコマンドプロンプトを立ち上げる必要があるので注意しましょう。

立ち上がったら、ウェブブラウザを開いて以下にアクセスしてみましょう。

http://localhost:3000

以下のようなページが開かれたらうまく接続できています。

scaffold

本題です。
scaffoldとは「足場」という意味で、基本的なブログのような機能を作ってくれます。

今回はWebサービスのイメージが付きやすいと考え、scaffoldを使うことにしました。

scaffoldを作る

それではコマンドプロンプトで以下のコマンドを実行してください。

cd C:\rails_project\sampleApp
rails g scaffold sample title:string body:text
rails db:migrate
これでできたはずです。
ウェブブラウザを開いて以下にアクセスしてみましょう。
http://localhost:3000/samples

以下のページが表示されれば成功です!

「New Sample」を押して画面遷移し、以下のように記事を登録することができます。

DBの中身を見る

せっかくなので、さっき登録したデータをDBで見てみましょう!

テーブルを作った覚えはないのになぜ登録できるのかって?

実はさっき行ったこのコマンド

cd C:\rails_project\sampleApp
rails g scaffold sample title:string body:text
rails db:migrate
これで対応するテーブルまで作ってくれていたんです!

これはrailsのActive Recordと呼ばれる仕組みが使われています。興味のある方は調べてみてください。

 
さて、データを見る方法ですが、前回記事でインストールしたA5を使いましょう。

A5を起動します。

起動したら、上部メニューから「データベース/データベースの追加と削除」を選択してください。

 

左下の追加ボタンを押してください。

 

PostgresSQLを選択してください。

 

以下のように入力して接続してください。
※ユーザーとパスワードはご自分で設定されたものを入力してください。

 

すると元の画面にデータベースが追加されるので、以下のようにsamplesまで階層をたどってください。

 

samplesをダブルクリックすると、以下のようにテーブルの中身を見ることができます。

 

確認方法は以上です。
どうでしょう、A5を使ってテーブルを見るとわかりやすくないですか??

まとめ

お疲れさまでした。

今回はrailsを使った簡単なチュートリアルをやってみました。

次回はrailsの基本的なフォルダ構成について説明しようと思います。

それでは!

Windowsで始めるRuby on Rails入門【3.フォルダ構成】

2018.11.05

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です