Ruby on rails Mongoid多态关联轨道
工作环境:Rails 4.2 mongoid 5.1 以下是我的模型:Ruby on rails Mongoid多态关联轨道,ruby-on-rails,ruby,mongodb,mongoid,polymorphic-associations,Ruby On Rails,Ruby,Mongodb,Mongoid,Polymorphic Associations,工作环境:Rails 4.2 mongoid 5.1 以下是我的模型: class Tag include Mongoid::Document include Mongoid::Timestamps field :name, type: String belongs_to :entity_tags, :polymorphic => true end class EntityTag include Mongoid::Document include Mongoi
class Tag
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
belongs_to :entity_tags, :polymorphic => true
end
class EntityTag
include Mongoid::Document
include Mongoid::Timestamps
field :tag_id, type: String
field :entity_id, type: String // Entity could be Look or Article
field :entity_type, type: String // Entity could be Look or Article
field :score, type: Float
end
class Look
include Mongoid::Document
include Mongoid::Timestamps
has_many :tags, :as => :entity_tags
end
class Article
include Mongoid::Document
include Mongoid::Timestamps
has_many :tags, :as => :entity_tags
end
我们正在尝试在外观和文章到标签之间实现多态功能
i、 e.假设我们有一个名为“politics”的标签,我们希望将该标签添加到一篇得分为“0.9”的文章和一个得分为“0.6”的外观中。分数应保存在EntityTags模型中
问题是:
标记的第一个赋值是有效的,但是当我尝试将同一个标记赋值给另一个实体时,它会将它删除,并将它从第一个实体重新赋值给后者
任务如下所示:
entity.tags << tag
entity.tags我已经根据下面的答案实现了一个非优雅的工作解决方案StackOverflow是一个询问意见、获取帮助和检索反馈的社区。请分享你的部分代码,人们可能会发现它很有用。如果你只说“我得到了解决方案”,没有其他人可以学习,但也许他们需要一个例子。