将Neo4j::ActiveNode模型与ActiveRecord模型相关联



我有一个应用程序,它使用Neo4j来后台处理一个模型,使用PostgreSQL来后台处理所有其他模型。这是Neo4j型号:

class Concept
  include Neo4j::ActiveNode
  property :name
  def references
    Reference.where(concept_uuid: uuid)
  end
end

这是一个ActiveRecord模型。references表上有一个content_uuid:

class Reference < ActiveRecord::Base
  def concept
    Concept.where(uuid: concept_uuid).first
  end
end

这是有效的,我可以毫无意外地做Reference.first.conceptConcept.first.references之类的事情。不过,我希望我能做一些简单的事情:

class Reference < ActiveRecord::Base
  belongs_to :concepts
end
class Concept < ActiveRecord::Base
  include Neo4j::ActiveNode
  property :name
  has_many :references
end

因为那样我就可以把Concept.first.references << new_reference这样的东西从盒子里拿出来。是否存在此类功能?

我回复了Github问题,但我会在这里发布,以防有人遇到它!

目前,我们不打算将此功能构建到ActiveNode模块中。我当然可以看到如何创建一个新的模块和类来处理这类事情,但我们需要计划好,并想好要走多远。这个gem的目标是成为一个独立的OGM,由于提供ActiveRecord互操作性不是目标,我担心试图利用行为来帮助实现这一目标可能会导致糟糕的实现,而我们这边的支持很差。

你可能想看看Neoid宝石,它的重点正是这个,如果/当它的重建完成时,我认为它会做得很好。

相关内容

  • 没有找到相关文章

最新更新