EnumFu ====== Make a integer field of an ActiveRecord as enum typed. - faster operation in DB - easy coding Usage ====== # db schema create_table 'users' do |t| t.column 'role', :integer, :limit => 2 end # model class User < ActiveRecord::Base acts_as_enum :role, [:customer, :admin] end # usage # create new record u = User.new(:role => :customer) u.save # get value u.role # :customer u.role_before_type_case # 0 # set value u.role = :user # get the integer value for an enum value User.role(:user) # 1 # list of all enum values User::ROLE # [:customer, :admin] # in a view <% form_for :customer, :url => {:action => 'create'} do |f| %> <%= f.select :role, Customer::ROLE %> <% end %> # in a controller u = User.new(params[:customer])