I\'ve got a Rails 4.1 app in which I use an enum to represent the privacy level of an object.
In my schema:
t.integer \"privacy_level\", default: 0
In order to use enums in ActiveAdmin's filters use:
filter :level, as: :select, collection: Model.levels
assuming an enum
attribute named level
This will make sure to actually put the integer value in the query and not the key name.
do this:
f.input :privacy_level, :as => :select, :collection => privacy_level.keys.to_a
Building off of Jack's answer, here's what worked for me. Say your ActiveRecord model is Tweets
:
f.input :privacy_level, as: :select, collection: Tweet.privacy_levels.keys
Key things to note here: