A

プログラミングの学習記録

【本日の学習内容: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テーブルが作成される。

 

 

今日はここまで!