我有一个应用程序,它使用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.concept
和Concept.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
这样的东西了。是否存在任何此类功能?
答案 0 :(得分:2)
我回复了Github问题,但我会在这里发帖,万一有人碰到它!
目前,我们还没有计划在ActiveNode模块中构建此功能。我当然可以看到如何创建一个新的模块和类来处理这类事情,但我们需要计划出来并计算到目前为止还有多远。这个宝石的目标是成为一个独立的OGM,并且由于提供ActiveRecord互操作性不是目标,我担心试图通过行为来帮助实现这种追求可能会导致糟糕的实施,而我们的支持很差。
你可能想看一下Neoid gem,它的重点是这个,如果/当它的重建完成时,我认为它会做得很好。