gpt4 book ai didi

ruby - 模型数组上的事件记录 to_json\as_json

转载 作者:数据小太阳 更新时间:2023-10-29 07:45:47 28 4
gpt4 key购买 nike

首先,我没有使用 Rails。我在这个项目中使用 Sinatra 和 Active Record。

我希望能够在我的模型类上覆盖 to_json 或 as_json 并让它定义一些“默认”选项。例如我有以下内容:

class Vendor < ActiveRecord::Base
def to_json(options = {})
if options.empty?
super :only => [:id, :name]
else
super options
end
end
end

供应商除了 id 和 name 之外还有更多属性。在我的 route ,我有类似以下内容:

@vendors = Vendor.where({})
@vendors.to_json

这里 @vendors 是一个 Array vendor 对象(很明显)。然而,返回的 json 没有调用我的 to_json 方法,而是返回所有模型属性。

我真的没有修改路由的选项,因为我实际上使用的是修改后的 sinatra-rest gem (http://github.com/mikeycgto/sinatra-rest)。

关于如何实现此功能的任何想法?我可以在我的 sinatra-rest gem 中做类似下面的事情,但这看起来很傻:

@PLURAL.collect! { |obj| obj.to_json }

最佳答案

尝试覆盖 serializable_hash intead:

def serializable_hash(options = nil)
{ :id => id, :name => name }
end

更多信息 here .

关于ruby - 模型数组上的事件记录 to_json\as_json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3998038/

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