[ Rails : アンチパターン ] Validation しすぎで登録困難:下書きなどステータスに応じたバリデーションチェック - 株式会社CoLabMix

[ Rails : アンチパターン ] Validation しすぎで登録困難:下書きなどステータスに応じたバリデーションチェック

Railsでデータ運用を長期にしているとModelにValidation入れておけばよかった!!という機会は必ず発生すると思います。

後にジャンクデータであるならまだしも、そのデータの為に他との整合性取れなくなったりなどなど。

基本、Modelの初期段階でValidationとカラム制約はとても必須事項になってくるかと。

ただ、設計段階でValidationを意識しすぎるとサービスにかえって運用をきたすものがあります。
例えば記事関連なんかや、会員データの登録関連などなど。

会員データなら離脱率落ちる落ちますし、この登録データを無しにした時のコンバージェンスは?といったA/Bテストができなくなります。
記事データだと、全データ入れないと投稿できないのは、投稿者やサイト管理者にあとで必ず文句言われますね。

そこで、Validationしすぎ自体はアンチパターンにならないのですが、登録に「下書き/公開」、「仮登録/本登録」といったステータスでValidationを持たせる方法を記載します。

必要データは通常のValidationをして、「公開」ステータスのものだけ、ステータスに応じたValidationをかける感じになります。

余計なデータは入りやすくなりますが、サービスレベルを保つ上で結構有用性が高いテクニックかと。

 

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

 

関連記事

  1. オープンソース全文検索サーバーの「Fess」をCentOS7にインスト…

  2. CentOS環境の python3.6(pyenv環境)で Scrap…

  3. AWSのLambdaでScrapyを動かす その3 - dynamod…

  4. ZABBIXのアラートをSlackに飛ばす

  5. CentOS7のPython3でJUMAN++のインストールと利用

  6. 外部のライブラリを利用してのAWS Lambdaの設定