How do i specify and validate an enum in rails?

前端 未结 8 1824
南笙
南笙 2020-12-30 20:15

I currently have a model Attend that will have a status column, and this status column will only have a few values for it. STATUS_OPTIONS = {:yes, :no, :maybe}

1)

8条回答
  •  庸人自扰
    2020-12-30 21:04

    This is how I implement in my Rails 4 project.

    class Attend < ActiveRecord::Base
        enum size: [:yes, :no, :maybe]
        validates :size, inclusion: { in: Attend.sizes.keys }
    end
    

    Attend.sizes gives you the mapping.

    Attend.sizes # {"yes" => 0, "no" => 1, "maybe" => 2}
    

    See more in Rails doc

提交回复
热议问题