Domanda

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?

È stato utile?

Soluzione

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)

Altri suggerimenti

What you would rather want to do is this:

model_instance.read_attribute(:weekday)

Cleaner, simpler, straight to the point.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top