【Rails入門】最初のアプリ作成で学んだこと(rails new / ルーティング / コントローラー編)
お久しぶりです!更新がまた少し空いてしまいました🙏
今回は Railsで最初のアプリFirstAppの流れと学び をまとめます。
基本的なRailsアプリでMVCの基礎を学んでいきます
1️⃣ Railsプロジェクトを作る
カリキュラムに沿ってコマンドを入力。
最初にバージョン違いでちょっとつまづきました💦
# バージョンを指定して新規アプリ作成
rails _7.1.0_ new first_app -d mysql
バージョン確認は以下のコマンドでできます👇
rails -v # 現在のRailsバージョン
gem list rails # インストール済みバージョン一覧
今回は 7.1.5.1 / 7.1.0 / 7.0.0 が入っていたので、
メンター推奨の 7.1.0 を指定して作成しました。
2️⃣ データベースを作成する
rails db:create
実行すると
Created database 'first_app_development'
Created database 'first_app_test'
と表示されればOK!
DBeaverで確認すると、first_app_development が見えました
3️⃣ サーバーを起動する
rails s
これで http://localhost:3000 にアクセスできます。
※ローカル環境専用のサーバーなので、外部からは見えません。
4️⃣ ルーティングを設定する
Rails.application.routes.draw do
get 'posts', to: 'posts#index'
end
👉 /posts にアクセスしたら postsコントローラー の indexアクション を呼ぶ、というルール。
ルーティングの確認コマンド👇
rails routes
5️⃣ コントローラーを作成する
最初はよくあるエラーに遭遇します💦
-
uninitialized constant PostsController→ コントローラーがない -
No template for interactive request→ ビューファイルがない
そこでコントローラーを生成👇
rails g controller posts
Railsは関連するファイルをまとめて作ってくれるので便利です!
もし不要になったら削除コマンドで一気に消せます👇
rails d controller posts
6️⃣ コントローラーにアクションを定義
生成直後は空なので、index アクションを追加👇
class PostsController < ApplicationController
def index
end
end
これで /posts にアクセスすると、index アクションが呼ばれるようになります。
今回の学び
- Railsはバージョンに注意(指定して作成できる)
-
rails db:createで開発用・テスト用DBが作られる -
rails sでローカルサーバー起動 - ルーティングは
get 'URI', to: 'controller#action'で定義 -
rails g controllerで関連ファイルをまとめて生成 - コントローラーに「アクション(メソッド)」を定義して動きを作る
👉 今回は Railsアプリ作成の最初の流れ をまとめました。
次は ビュー(画面表示)やモデル(DB操作) に進んでいく予定です!