我正在使用Neo4j.rb gem为某些地理关系建模。每个Country
通过Region
关系属于ActiveRel
。因此,我与区域具有has_one :out
关系。但是,出于遗留目的,我还需要保留一个名为region_id
的可查询字段。模型def看起来像这样:
# app/models/country.rb
class Country
include Neo4j::ActiveNode
property :name, type: String
property :region_id, type: Integer #needed for consistency with legacy database
has_one :out, :region, rel_class: 'ResidesInRegion'
end
我可以为region_id
的一个实例正确分配一个Country
,并在Neo4j浏览器中确认它的存在,但是当我通过ActiveNode查询我的Country
模型时,{{1 }}属性始终为零。我相信region_id
这个名称会以某种方式跳过node属性,而是寻找关系的某些属性。
如何覆盖此行为?我希望region_id
的方法解析在查看关系之前先查看节点属性。