1

我有一个应用程序,它使用 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开箱即用的东西。是否存在这样的功能?

4

1 回答 1

2

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

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

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

于 2014-11-05T20:13:48.067 回答