充当可标记的 - 枚举方法在标记中不起作用 table

Acts as taggable on - enum methods not working in tags table

我正在使用 acts-as-taggable-on gem。它会自动创建 tagstaggings table。但我想在 tags table 中添加一个名为 status 的附加列。我生成了一个迁移以添加 status 列。

然后我在 app/models

下创建了一个名为 tag.rb 的文件
class Tag < ApplicationRecord
  enum status: { public: 0, private: 1 }
end

Tag.first.private? 有效

但是

ActsAsTaggableOn::Tag.first.private? 不工作

抛出此错误: NoMethodError (undefined method 'is_private?' for #<ActsAsTaggableOn::Tag:0x00007fb8414b4028>)

我什至做过

module ActsAsTaggableOn
  class Tag < ApplicationRecord
    enum status: { public: 0, private: 1 }
  end
end

不知何故,这也行不通。谁能指出问题所在。

编辑: 这是迁移文件

class AddStatusToTags < ActiveRecord::Migration[5.2]
  def change
    add_column :tags, :status, :integer, default: 0, null: false
  end
end

使用::ActiveRecord::Base代替ApplicationRecord

module ActsAsTaggableOn
  class Tag < ::ActiveRecord::Base
    enum status: { public: 0, private: 1 }
  end
end