Question

I'm using ActiveRecord's Enum to store the weekdays with the following:

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

When calling the attribute .weekday on the model instance I correctly get the weekday name, e.g. "monday".

How could I get the numeric value (i.e. 0) when I need that instead?

Was it helpful?

Solution

Use my_object[:weekday], or, if you're in the object, just self[:weekday].

UPDATE: OR (as found by Ms Numbers): .read_attribute_before_type_cast(:weekday)

OTHER TIPS

What you would rather want to do is this:

model_instance.read_attribute(:weekday)

Cleaner, simpler, straight to the point.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top