Railsでこんな感じのEnum設定をしました。
enum auth_level: { admin: 1, group: 2, company: 3, staff: 4 }
実行するとエラーが!!!
ArgumentError: You tried to define an enum named "auth_level" on the model "Authority", but this will generate a class method "group", which is already defined by Active Record. from /usr/local/bundle/gems/activerecord-5.1.5/lib/active_record/enum.rb:230:in `raise_conflict_error'
要はgroup
という名前は定義してるから、使えないよってことですね。
enum使ってて初めてこんなエラー出て来たので、ちょっとビックリしました。
でも、group
を別名に変えてあげれば無事解決しました!
もし名前を変えたくないという方は、こんな方法もあるみたいですね。
enum :kind, [:junior, :senior, :group], prefix: :kind band.kind_group?
引用: Rails – ArgumentError in using ActiveRecord::Enum
group
以外にもこういうのあるんですかね。
気が向けば調べてみようと思います。