[ 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. Elasticsearch 6 を使ったデータ検証 その1(Docke…

    2. Elasticsearch 6 を使ったデータ検証 その6( Aggr…

    3. VagrantでCentOS7の環境を作る

    4. Dockerfileを使った基本的なDockerの動作

    5. CentOS8に負荷試験ツールLocustを入れてのテスト その1

    6. AWS Lambdaをpython-lambda-localとlamb…

    最近の記事

    制作実績一覧

    ITシステム開発の開発先・発注先の選び方を見つけるコンシェルジュサービス

    ITシステム開発の開発先・発注先の選び方を見つけるコンシェルジュサービス

    ITクリエイターのための転職・仕事情報サイト

    ITクリエイターのための転職・仕事情報サイト

    SNS分析での転職支援

    SNS分析での転職支援

    受託パートナーのマッチングとSES人材のマッチング

    受託パートナーのマッチングとSES人材のマッチング