我使用ActiveRecord' Enum来存储工作日,并使用以下内容:
enum weekday: %w(monday tuesday wednesday thursday friday saturday sunday)
在模型实例上调用属性.weekday
时,我正确地得到了工作日名称,例如"星期一"
如果需要,我怎样才能获得数值(即0
)?
答案 0 :(得分:9)
使用my_object[:weekday]
,或者,如果您在对象中,则只需self[:weekday]
。
更新:
或(由数字女士发现):.read_attribute_before_type_cast(:weekday)
答案 1 :(得分:3)
你想要做的是:
model_instance.read_attribute(:weekday)
更清洁,更简单,直截了当。