Fumiya-Matsumoto / run_manage_spa

0 stars 0 forks source link

Postモデルのカラムを最小限にして、演算できる値はpost.rbで関数定義する #1

Open Fumiya-Matsumoto opened 2 years ago

Fumiya-Matsumoto commented 2 years ago

概要

Postモデルについて、演算処理できる値のカラムが存在するため、DBから消し、post.rbに演算関数を定義する。

目的

演算的に求まる値は整合性観点から持たせない方が望ましいため。

タスク

Fumiya-Matsumoto commented 2 years ago

現状

RunManage_2 drawio

改善案

演算や抽出で作れる値のカラムは全て除去 RunManage_3 drawio

Fumiya-Matsumoto commented 2 years ago

PostRecordから「pace」も除去する

Fumiya-Matsumoto commented 2 years ago

paramsの処理について

  1. paceなど既存のカラムの値を使って演算できるものは、modelにインスタンスメソッドで記述
    • データベースへの保存前に処理が必要なものはcontrollerに記述
    • 例)params[:record][:distance]で受け取った値をparams[:record][:kind]の値によって変えたい場合
    • 前提:distanceの単位はmであってほしい
    • kindの値が1, 2, 3のどれかの場合は何もしない(この場合、単位がmの想定)
    • kindの値が4, 5, 6のどれかの場合は1000倍する(この場合、単位がkmの想定)
    • 上記のように、保存前に必要な処理はmodelにクラスメソッドとして定義するよりもcontroller内に書く方がわかりやすいと判断。