【发布时间】:2019-12-11 11:51:03
【问题描述】:
我的班级用值enum source: [:pdf, :zip] 定义了一个枚举。每次我启动我的 Rails 应用程序时,都会出现以下错误:
ArgumentError: You tried to define an enum named "source" on the model "ExtractionRule",
but this will generate a class method "zip", which is already defined by ActiveRecord::Relation.
在更新到 5.2.4 之前,这个没有问题。 ActiveRecord 库中是否有任何更新阻止创建具有值:zip 的 enum?
发行说明中没有其他说明。我已经查看了 Rails 源代码,但找不到任何会导致此问题的内容。
注意:将值的名称更改为 [:pdf_type, :zip_type] 之类的其他名称可以解决问题,但我宁愿保留代码,因为这在过去是有效的。
更新
我已经通过使用prefix: :source 设法解决了这个问题。这样我可以为 enum 保持相同的值。无论哪种方式,我都不知道为什么会发生错误。
【问题讨论】:
标签: ruby-on-rails ruby activerecord enums ruby-on-rails-5