I have a field type in a model called user which is an int in the db. The value of the int speficies the type of store it is. Example:
- 0 = mom
- 1 = dad
- 2 = grand mother
- and so on
I have several other fields like this so it’s overkill to create association tables.
Instead of checking for those int values over the place in conditional statements in model and controller logic, is there a place in rails to store these constants.
So that I could do this from my models and controllers?
if myuser.type == MOM
elsif myuser.type == GRAND_MOTHER
EDIT: Solution I went with at the end:
In model:
# constants
TYPES = {
:mom => 0,
:dad => 1,
:grandmother => 2,
:grandfather => 3
}
In logic:
if u.type == User::TYPES[:mom]
Even though it’s longer, I felt it to be more intuitive for other developers when they’re reading my code. Thanks to Taro below for this solution.
Something like: