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