我正在使用acts-as-taggable-on宝石。它会自动创建tags
和taggings
表。但是我想在status
表中添加一个名为tags
的附加列。我生成了一个迁移以添加status
列。
然后我在tag.rb
下创建了一个名为app/models
的文件
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
答案 0 :(得分:1)
使用::ActiveRecord::Base
代替ApplicationRecord
module ActsAsTaggableOn
class Tag < ::ActiveRecord::Base
enum status: { public: 0, private: 1 }
end
end