# 1/30㈭ 日報 ## やること/やったこと - [x] プラン申込のPR修正 - [x] ログイン状況以外のバリデーションの検証メソッドをモデルに移行 - [x] 上記メソッドのテストを追加 - [x] トラベルかECかどちらのユーザー登録・ログイン・ログアウトかの判定処理の変更 referrerで判断してたけど、100%確実ではないので、parameterを渡す方法に変更した - [x] 管理画面のフォームを修正 - [x] その他レビュー箇所の調査と返信 - [x] 未翻訳箇所を探す。i18nの整理 - [x] migrationファイル名がおかしかったので修正 - [x] カラム名変更。それに伴う各所コードの変更 - [x] 未翻訳箇所の翻訳依頼 - [x] 翻訳反映 - [x] プランの金額や猶予日などにバリデーションの追加 - [x] 日程選択をdate_fieldに変更 - [x] バリデーションエラーメッセージが一度表示されると消えなかったバグを修正 - [x] 今は使わなくなったTravelPlanPaymentの削除 - [x] コードを削除 - [x] tableをdropするmigrationを追加 - [x] PR ## 学んだこと 個別の属性に関連するエラーメッセージを追加する代りに、オブジェクトの状態全体に関連するエラーメッセージを`errors[:base]`に追加することもできる。 ```ruby person.errors.add(:base, :name_or_email_blank, message: "either name or email must be present") person.errors.messages # => {:base=>["either name or email must be present"]} person.errors.details # => {:base=>[{error: :name_or_email_blank}]} ``` https://railsguides.jp/active_record_validations.html#errors-base ## 困っていること 進捗が遅い? ## 明日やること - (must)プラン申込のPRの残り - (must)大人+子どもの人数が最少催行人数以上でないと申し込めない - バリデーション追加 - バリデーションのテスト - エラーメッセージを作って翻訳 - リクエストのテスト - プランの決済方法選択 ## 所感 コード書き始めると早いけど、コード書くまで調べたり考えたりする時間が長いし、その時間を見積もるのが難しい🤔 仕様漏れもたまにあるから、どっかにドキュメント書くかテスト先に書いたほうがいいかも。