ActiveRecord association with a class-based tableless enumerators.
in Gemfile add:
gem 'has_dictionary' and execute:
$ bundle install You must create a class with the definitions of Enums
For example:
models/status.rb:
classStatus < Dictionaryself.add_item:NEW,0self.add_item:GENERATING,1self.add_item:RUN,2self.add_item:DELETING,3endIn your ActiveRecord class
classMyClass < ActiveRecord::Baseattr_accessible:name,:status_idhas_dictionary:dic_class=>Status,:field=>:status_id,:method=>'status'endnow you can:
MyClass.find(1).status# returns #<Status:0x00 @id=0, @description="NEW">MyClass.find(1).status.description# returns "NEW"element=MyClass.find(1)element.status_id=Status::GENERATINGelements.save# this save element.status_id with the value 1Status.get#returns [#<Status:0x00 @id=0, @description="NEW">, #<Status:0x00 @id=1, @description="GENERATING">, #<Status:0x00 @id=2, @description="RUN">, #<Status:0x00 @id=3, @description="DELETING">] 