当我的对象只有两种状态时,例如员工的“活动”和“退休”,我会在表用户中有一个布尔字段来说明用户的状态。
但是,如果我有一个具有三个或更多状态的对象,我该怎么办?任务可能是“新的”、“进行中的”、“完成的”和“关闭的”,而计算机可能是“订购的”、“在商店中”、“在使用中”、“在维修中”,最后是“废弃”。
我可以看到几个选项:
1) 附加表“状态”。状态属于任务,任务有一个状态。它对我来说看起来不错,但它需要额外的桌子。
2)不知何故在“用户”表中有一个状态列表。不知道有没有可能。我正在使用 PostgreSQL。
3) 确定 1 表示“新”,2 -“进行中”,3 -“完成”,并将这些数字用作状态。
4) 使用状态名称作为状态。将字段“状态”设为字符串。
什么是最好的 Rails 方式?