2022/09/01〜世界旅暮らし中 旅経路はこちら

Rails Enum設定エラー "group"は使えないらしい

rails
  • URLをコピーしました!

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以外にもこういうのあるんですかね。

気が向けば調べてみようと思います。

rails

この記事が気に入ったら
いいねしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次