一度修正をして、直った!と思っても同じ項目を他の画面で実行したときにエラーが出ていました。
こういったミスはtestの甘さから来ているのかなと思います。
testをしっかり書き込んでいればtestを実行するだけで他の部分に影響がでていないかが一瞬でわかります。testの記述は手間のかかる作業ではあるけれど、書いておけば後々のミスがかなり減らせるのではないかと思いました。
今回、同じ部分に対して何度も修正をすることになり、testの大切さを痛感しました。
また、今回の作業でもっと別の方法があったのではないか?と思う部分があります。
それはバリデーションのエラーメッセージについてです。
一つのバリデーションに対して新規登録の時とインポートの時でメッセージを変えたいことがあり、その方法が何とも面倒な感じになってしまいました。。。
採用したやり方はもう一つバリデーションを書いて変数名を$validate_〇〇みたいにして使用するバリデーションをコントローラーで制御するものです。
使用するバリデーションを変える時はコントローラーで
$this->モデル名->validate = $this->モデル名->validate_〇〇;
と記述すれば変わります。
求める動作はできたものコード量がかなり増えてあんまりよくないと感じています。
スマートな方法があれば教えてください!お願いします。
以上です。
0 件のコメント:
コメントを投稿