正在尝试将枚举添加到用户类:
enum vehicle: { car: 1, bus: 2, other: 3 }, _prefix: true
rails抛出一个错误
您试图在模型“Spree::User”上定义一个名为“vehicle”的枚举,但这将生成一个示例方法“vehicle_car?",该方法已经由另一个枚举定义。
我尝试了其他的名字,后缀和前缀选项,并在gems文件夹中制作了ack
。我想这可能是Zeitwerk的问题,但我不知道如何解决。
正在处理Rails version: 6
3条答案
按热度按时间gt0wga4j1#
您可以给予自定义前缀/后缀以使其不同于
vehicle_car?
仅供参考
https://api.rubyonrails.org/v5.2.4.1/classes/ActiveRecord/Enum.html
slwdgvem2#
如果
validates
调用引用了枚举,请确保键入的是复数形式vehicles.keys
,而不是vehicle.keys
,否则将出现此错误。enxuqcxy3#
如果你有一个名为
vehicle_car
的方法或列,就会发生这种情况,因为enum方法会尝试用这个名字为你创建一个helper。