Ruby on Rails アプリケーション作成の手順

Ruby on Railsとは?

プログラミング言語であるRubyフレームワークのことを「Ruby on Rails」といいます。 フレームワークとは最小のコストでアプリケーションの作成をできる仕組のことをいいます。

Ruby on Rails は同じコードを繰り返し書くことを避け、保守管理しやすくバグを減らし、ルールに則ったコードを書くことで記述量を少なく、スピーディーに開発ができるという特徴があります。

準備

ターミナル
% cd (ホームディレクトリに移動) 
% cd ~/ディレクトリ名 (作成したディレクトリに移動) % bundle config --global build.mysql2 --with-opt-dir="$(brew --prefix openssl)" (Railsの設定)

1.アプリケーションの雛形を作ります

ターミナル 
% rails _6.0.0_new アプリケーション名 -d mysql 

実行します。

これでアプリケーションに必要なファイルを一式自動で作成してくれます。 このディレクトリをVSCodeテキストエディタ)で開きます。 VSCodeを開いた状態で、ディスクトップ上にあるターミナルタブから新しいターミナル(controlキー + SHIFTキー + ^) でVSCode上でターミナル操作ができます。

2.データベース

雛形ができたら、データベースを作成します

ターミナル 
rails db:create 

実行します。

Created database '作成したアプリケーション名'_development' 
Created database '作成したアプリケーション名_test' 

こんな感じのメッセージが表示されます。 このデータベースの中身をわかりやすくするために、シークエル・プロ(Sequel Pro)を使用します。

ダウンロード

シークエル・プロを起動し

f:id:satoshi_hatta:20210502153717p:plain
シークエルプロ起動画面

f:id:satoshi_hatta:20210502153730p:plain
シークエルプロデータベース選択

先程、作成したデータベースが表示されているはずです。

これで、アプリケーションの雛形が完了です。

 

4.Railsの処理の流れ

 

Railsの処理は、

ルーティング→コントローラー→ビュー

の順で処理が行われます。

 

ルーティング

ルーティングはリクエスト(トップページを見たいなど)があった時に、 対応する行き先を振り分ける役割です。

config/routes.rb

に記述します。  

rails.application.routes.draw do
 HTTPメソッド 'URIパターン', to:'コントローラー名#アクション名'
end

アクション

アクションとは、処理のカテゴリーのことで                 

  • index  一覧表示ページを表示するリクエストに対応して動く

  • new  新規投稿ページを表示するリクエストに対応して動く

  • create データの投稿を行うリクエストに対応して動く

  • show  個別詳細ページを表示するリクエストに対応して動く

  • edit  投稿編集ページを表示するリクエストに対応して動く

  • update  データの編集を行うリクエストに対応して動く

  • destroy  データの削除を行うリクエストに対応して動く   の種類があります。

コントローラー

リクエストに対応する処理をまとめて、 ルーティングからのリクエストを受け取り処理し、 レスポンスを返す役割です。

コントローラーを作成するには

コマンド「rails g」を使います。

ターミナル
% rails g controller コントローラ名

逆のコマンドに「raills g」があります。 間違って作成したときなどに、 関連するファイルごと削除してくれます。

つづいて、 コントローラ名_controller.rbにアクションを定義します。  

class 〇〇Controller < ApplicationController

 def index (indexアクションを定義)
 end

end

ビュー

ブラウザにレスポンスとして、見た目を返します。 Railsでのビューファイルの拡張子は「〇〇.html.erb」となります。

app/views/コントローラ名のディレクトリでファイルを作成します。 このファイルに見た目となる記述をします。 例えば以下のように入力します  

<h1>Hello Word</h1>

ローカルサーバーを起動

コマンド「rails s」を実行します。 これは、ローカルサーバーを起動するコマンドです。 止める場合は「controlキー + c」です。

ローカルサーバーとは、パソコン上のみのネットワークのことで 本番環境前に、動作を確認するために使用します。

ローカルサーバーを起動した状態で

http://localhost:3000

を開きます

先程、記述した「Hello World」が表示されれば成功です。

コントローラに
class 〇〇Controller < ApplicationController

 def index 
  @post = 今日の晩ごはんはなにつくろうかな?
 end

end

と定義して

<h1>Hello Word</h1>
<%= @post %>

と、ビューファイルに記述して先程の

http://localhost:3000

を開きます。

今日の晩ごはんはなにつくろうかな? と表示されているはずです。

コントローラーで定義したインスタンス変数を、 対応するビューファイルで使用することができます。

<%=...%>はRubyのコードを使用するタグになります。

<%...%>とすると画面上に表示しなくなります。 if分や、each文などを使用する場合に使います。

Ruby on Railsの雛形をつくり、ルーティングを設定し コントローラに定義して、ビューで見た目を表示させる という基本の流れとなります。