控制数组的JSON序列化

时间:2013-12-21 22:27:10

标签: ruby json serialization

我正在开发一个使用Ruby和Sinatra发布Web服务的项目。我遇到的问题是我无法弄清楚如何正确地序列化数组。我有两条路线。

get '/Post' do
    postId= params[:id]
    my_post = Post.new(BSON::ObjectId(postId))
    return my_post.to_json() #runs the to_json method in post
end

get '/SourcePosts' do
    sourceId = params[:source]
    my_source = Source.new(BSON::ObjectId(sourceId)) #returns an array of Posts
    return my_source.get_posts.to_json() #ignores the to_json method in post
end

第一个Post按预期工作,调用我的自定义to_json方法,该方法省略了延迟加载的属性。第二个SourcePosts忽略我的覆盖并转储所有内容,包括需要加载数据库dip的属性。我的问题:在将数组序列化为JSON时,如何调用我的方法或以其他方式忽略昂贵的属性?

1 个答案:

答案 0 :(得分:0)

问题是模型类中有一个遗留require 'active_support/all',它干扰了数组序列化。