使用Enum并想要在视图中访问存储的整数值

时间:2014-04-28 20:57:17

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

我使用ActiveRecord' Enum来存储工作日,并使用以下内容:

enum weekday: %w(monday tuesday wednesday thursday friday saturday sunday)

在模型实例上调用属性.weekday时,我正确地得到了工作日名称,例如"星期一"

如果需要,我怎样才能获得数值(即0)?

2 个答案:

答案 0 :(得分:9)

使用my_object[:weekday],或者,如果您在对象中,则只需self[:weekday]

更新: 或(由数字女士发现):.read_attribute_before_type_cast(:weekday)

答案 1 :(得分:3)

你想要做的是:

model_instance.read_attribute(:weekday)

更清洁,更简单,直截了当。