And regarding select
, you can use it with a Hash. I used to use it with ENUM.
# In a hypothetical Fruit model
enum types: { Banana => 0, Grape => 1, Mango => 2 }
# In the view
f.select :type, Fruits.types.invert
Note that I had to use invert in order to show the correct value in option:
<select>
<option value="0">Banana</option>
<option value="1">Grape<option>
<option value="2">Mango</option>
</select>
To refer to it in a show file you can use Fruit.types
and this will return our previous Hash. This way you can do:
Fruit.types[obj.type]
Last note: You can use symbols instead numbers if you prefer enum types: { Banana => :banana, ...
and you will get <option value="banana">Banana</option>