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)を使用します。
シークエル・プロを起動し
先程、作成したデータベースが表示されているはずです。
これで、アプリケーションの雛形が完了です。
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」です。
ローカルサーバーとは、パソコン上のみのネットワークのことで 本番環境前に、動作を確認するために使用します。
ローカルサーバーを起動した状態で
を開きます
先程、記述した「Hello World」が表示されれば成功です。
コントローラに class 〇〇Controller < ApplicationController def index @post = 今日の晩ごはんはなにつくろうかな? end end
と定義して
<h1>Hello Word</h1> <%= @post %>
と、ビューファイルに記述して先程の
を開きます。
今日の晩ごはんはなにつくろうかな? と表示されているはずです。
コントローラーで定義したインスタンス変数を、 対応するビューファイルで使用することができます。
<%=...%>はRubyのコードを使用するタグになります。
<%...%>とすると画面上に表示しなくなります。 if分や、each文などを使用する場合に使います。
Ruby on Railsの雛形をつくり、ルーティングを設定し コントローラに定義して、ビューで見た目を表示させる という基本の流れとなります。