[ 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でjava.lang.OutOfMemory…

    2. AWSのLambdaでScrapyを動かす その2 - S3からの値の…

    3. Elasticsearch 6 を使ったデータ検証 その7(Analy…

    4. 「outlook.jp」や「hotmail.co.jp」宛のメールがエ…

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

    6. VagrantでCentOS7の環境を作る