0

従業員の「アクティブ」と「退職」のように、オブジェクトのステータスが2つしかない場合、ユーザーのステータスを説明するために、テーブルusersにブールフィールドがあります。

しかし、ステータスが3つ以上のオブジェクトがある場合はどうすればよいですか?タスクは「新規」、「進行中」、「終了」、「クローズ」の場合があり、コンピューターは「注文」、「保管中」、「使用中」、「修理中」、最後に「廃棄」の場合があります。

私はいくつかのオプションを見ることができます:

1)追加のテーブル「ステータス」。ステータスはタスクに属し、タスクには1つのステータスがあります。私には問題ないように見えますが、追加のテーブルが必要です。

2)どういうわけか'users'テーブルにステータスのリストがあります。それが可能かどうかわからない。私はPostgreSQLを使用しています。

3)1は「新規」、2-「進行中」、3-「終了」を意味することを決定し、これらの番号をステータスとして使用します。

4)ステータスの名前をステータスとして使用します。フィールド'status'を文字列にします。

Railsの最良の方法は何ですか?

4

1 に答える 1

1

私は個人的に、現在の状態の文字列列を作成する必要があるstate_machineaasmのようなgemを好みます。ステータスに関する情報がすぐに得られるので、それは正しい方法だと思います。

于 2012-05-04T17:40:17.840 に答える