gpt4 book ai didi

json - Neo4j::Rails::Model to_json - 缺少节点 ID

转载 作者:行者123 更新时间:2023-12-04 18:16:19 24 4
gpt4 key购买 nike

我有一个带有 Neo4j.rb 的 Jruby on Rails 应用程序和一个模型,比如说 Auth,定义如下:

class Auth < Neo4j::Rails::Model
property :uid, :type => String, :index => :exact
property :provider, :type => String, :index => :exact
property :email, :type => String, :index => :exact
end

而这段代码:
a = Auth.find :uid => 324, :provider => 'twitter'
# a now represents a node
a.to_json
# outputs: {"auth":{"uid": "324", "provider": "twitter", "email": "email@example.com"}}

请注意,JSON 表示中缺少节点的 ID。我的应用程序中有一个 RESTful API,我需要该 id 来执行 DELETE 和 UPDATE 操作。

我试过这个看看它是否有效:
a.to_json :only => [:id]

但它返回一个空的 JSON {} .

有什么方法可以在不重写整个 to_json 的情况下获取 JSON 表示中的节点 ID方法?

更新 同样的问题也适用于 to_xml方法。

谢谢!

最佳答案

我正在回答我自己的问题。我仍然认为有更好的方法可以做到这一点,但是,现在,我正在使用以下 hack:

/config/initializers/neo4j_json_hack.rb我把下面的代码:

class Neo4j::Rails::Model
def as_json(options={})
repr = super options
repr.merge! '_nodeId' => self.id if self.persisted?
end
end

现在我的每一个 JSON 表示都坚持了 Neo4j::Rails::Model对象有 _nodeId范围。

关于json - Neo4j::Rails::Model to_json - 缺少节点 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11622127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com