2014-11-05 153 views
1

我有一個應用程序使用Neo4j後端一個模型和PostgreSQL後端所有其他模型。這裏是Neo4j模型:關聯Neo4j :: ActiveNode模型與ActiveRecord模型

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開箱。有沒有這樣的功能?

回答

2

我回復了Github的問題,但我會在這裏發帖,以防萬一有人遇到它!

目前,我們並未打算將此功能構建到ActiveNode模塊中。我完全可以看到如何創建一個新的模塊和類來處理這種事情,但是我們需要將其規劃出來並計算出要走多遠。這個寶石的目標是成爲一個獨立的OGM,並且由於提供ActiveRecord互操作性不是我們的目標,所以我擔心試圖通過行爲來幫助實現這一目標可能會導致糟糕的實現,並且在我們的最終得到的支持很差。

你可能想看看Neoid gem,它的重點就是這個,如果/當它的重建結束時,我認爲它會做得很好。