【本日の学習内容:Rails課題2】(下書きあり)
CRUD処理を実装したアプリの作成を進めました。
【CRUD処理の実装】
✅アプリ立ち上げの流れ
慣れないうちは、アプリを立ち上げたら毎回以下の流れで手順5まで実行する。
1️⃣cdコマンドを使ってアプリを立ち上げたいディレクトリに移動
2️⃣rails new アプリ名 -d データベース(mysqlなど) コマンドを実行しアプリのディレクトリを作成
3️⃣cdコマンドを使って立ち上げたアプリのディレクトリに移動
4️⃣bundle exec rake db:create(アプリに対応するデータベースの作成)
5️⃣rails s(サーバを立ち上げ)
--新規投稿機能の実装--
✅ルーティングを書く
configディレクトリ配下のroutes.rbに以下を記述する
Rails.application.routes.draw do
# 新規投稿画面へのルーティング
get '/users/new', to:'users#new'
end
✅コントローラを手動で作る
今回はユーザーのデータを扱うアプリを作成するので、usersというコントローラを作成する。
controllerディレクトリ内にusers_controllerファイルを作る。
また、その中に新規登録するためのnewアクションを書く。
class UsersController < ApplicationController
# 新規登録画面に対応するアクション
def new
# Userオブジェクトを作る
@user = User.new
end
end
✅Userモデルを作る
rails g model user コマンドを実行することで、実際にデータを登録するテーブルとそれに関連するモデルを作成する。
また、同時にマイグレーションファイルも作成される。
✅マイグレーションファイルを編集する
マイグレーションファイルでは、データベースにどのような構造のテーブルを作成するかを指定することができる。
今回はusersテーブルにnameとageのカラムを作る。
class CreateUsers < ActiveRecord::Migration[6.0]
def change
create_table :users do |t|
t.string :name
t.integer :age
t.timestamps
end
end
end
マイグレーションファイルは中身を変更するだけではダメ。
rails db:migrate コマンドを実行することで、マイグレーションファイルの内容をデータベースに反映させる。
そうすると、アプリに紐づいたデータベースの中に、usersテーブルが作成される。
今日はここまで!