我的应用程序中的一个交互将要求用户声明三个可用会议时间之一。当会议时间被声明时,我希望它可以从视图中消失,以便以后出现以避免双重预订。如何在构建数据方面做到最好?
这是我目前的想法:
我有三个日期时间列:call_option_1,call_option_2和call_option_3
我创建了三个额外的整数列:call_option_1_status,call_option_2_status和call_option_3状态。
我基本上只需要两种状态 - 无人认领和声称。
我应该创建一个名为CallOptionStatus的模型,并使用这两个状态名称对其进行播种吗?
在rails中处理这样的简单状态的最佳方法是什么?
谢谢! 迈克尔
答案 0 :(得分:0)
在这些情况下,如果您拥有更改状态的数据,则很有可能需要使用Rails枚举。例如:
#model: UserCallOption
user_id:integer, state:integer, date:datetime
#define enum
class UserCallOption < ActiveRecord::Base
enum status: [:claimed, :unclaimed]
end
option.status # => unclaimed
option.claimed! # status changed to `claimed`
option.status # => claimed