kawaguchiです。
iko-yo.net で使われている module を別プロジェクトで使いたくなったので gem にしました。
https://github.com/jiikko/active_record-enum_with_label
class User < ActiveRecord::Base
include ActiveRecord::EnumWithLabel
enum_with_label :alert_status, {
alert_status_none: 'なし',
alert_status_mail_sent: 'メール送信',
alert_status_telephoned: '電話',
}
end
User.alert_status_labels # => ['なし', 'メール送信', '電話']
user = User.create(alert_status: :alert_status_none)
user.alert_status_label # => 'なし'
user.alert_status_before_type_cast # => 0
ビューが綺麗にかけます。