前回作成したプロダクトの上でバックエンド側の処理を書いていきたいと思います。
モデル名をuserとしたnameという名前のカラムを作成したい場合に
rails g model user name:string
とすることでhoge/db/migrate/***.rbへ下記のようなファイルが作成されます。
class CreateUsers < ActiveRecord::Migration[6.1]
def change
create_table :users do |t|
t.string :name, null: false
t.timestamps
end
end
end
rails db:migrate
rails routes
rails g controller users
hoge/app/controllers/users_controller.rbにファイルが作成しているので以下のように書き換える
class UsersController < ApplicationController
def index
# 全てのデータを順番へ持ってくる指示
users = User.order(created_at: :desc)
render json: {users: users}
end
def create
# 許可したパラメーターから新しいものを作成する
user = User.new(user_params)
# うまく行った時(DV側へ保存されたら)
if user.save
render json: {user: user}
# うまくいかなかったらエラーログを返す
else
render json: {error: user.errors}
end
end
# private
# def set_user
# @user = User.find(params[:id])
# end
def user_params
# userの中のnameしか許容できない
params.require(:user).permit(:name)
end
end
サーバーを立ち上げる
rails s
以前紹介したAdvanced Rest Clientを使ってリクエストを投げる。
APIとDBを作成することがこれでサーバーサイド入門することができたので、さらにインプットを継続していきたいと思います!