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

时间:2014-11-05 17:15:41

标签: ruby-on-rails activerecord associations neo4j.rb

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

class Concept
  include Neo4j::ActiveNode
  property :name

  def references
    Reference.where(concept_uuid: uuid)
  end
end

这是一个ActiveRecord模型。引用表上有一个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这样的东西了。是否存在任何此类功能?

1 个答案:

答案 0 :(得分:2)

我回复了Github问题,但我会在这里发帖,万一有人碰到它!

目前,我们还没有计划在ActiveNode模块中构建此功能。我当然可以看到如何创建一个新的模块和类来处理这类事情,但我们需要计划出来并计算到目前为止还有多远。这个宝石的目标是成为一个独立的OGM,并且由于提供ActiveRecord互操作性不是目标,我担心试图通过行为来帮助实现这种追求可能会导致糟糕的实施,而我们的支持很差。

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