我最近收到了错误:
You tried to define an enum named "label_type" on the model "Spree::ShippingMethod", but this will generate a instance method "label_type=", which is already defined by another enum.
回溯为我提供了我尝试定义的枚举的位置,但不是第一个定义的枚举。点击我的代码库只会在回溯中显示文件,所以我怀疑它是在一个宝石中,但我不知道如何找到它所在的宝石。
要清楚,我知道我给出的错误意味着枚举已经在其他地方定义了。在解决这个问题的过程中,我试图弄清楚它的定义。
答案 0 :(得分:1)
它可能在宝石中定义。它可以通过元编程来定义。也许你可以在 Pry 的帮助下找到更多信息:
show-method label_type=
exit-p
或!!!
以保留 pry 。答案 1 :(得分:0)
我认为你已经在该模型中使用了列或实例方法label_type。基本上,当您在列上定义枚举时,它将创建用于设置该列值的读/写方法。仅供参考:请参阅此页http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html