はじめに
Ruby on Rails 上でWebアプリを開発していると、statusカラムをテーブルで作る時は非常に頻繁にある。もう、本当によくある。でも、使わないで。 typeカラムでSTI (Single Table Inheritance) を利用したほうがいいと思います。
statusの問題
statusカラムを使える時は、必ずクラスをわけれます一番典型的な例は、 users テーブルです。よく、Userモデルで、 status カラムを作成し、 adminや他のユーザーの種類を分けてます。これだと、 adminだけに使用するメソッドも、一般userだけに使用するメソッドもすべて、Userモデルにいれてしまうので、わけれるメソッドがどんどんごっちゃになって増えていきます。それじゃいけない。なので、 typeカラムを作成し、STIを利用しましょう。