序列化为具有相关记录的json rails模型

时间:2015-10-18 10:59:19

标签: ruby-on-rails rails-activerecord to-json

假设我的文件夹与has_many关联。

我有一个小动作,我像这样渲染json

render json: folder.to_json(include: :files)

我尝试使用以下

渲染更复杂的json响应
render json: {status: 'ok', main_folder: folder}

但这显然不包括相关记录。我怎么能包括它们?

P.S。我不想在这个应用程序中使用视图,而不是覆盖to_json方法(因为我想在模型中使用文件夹记录,但没有关联的文件,在另一个操作中渲染复杂的json),如果可能的话。

编辑我设法找到问题的解决方法,但看起来很难看

intermediate_obj = folder.attributes.merge(files: folder.files)
render json: {status: 'ok', main_folder: intermediate_obj}

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

render json: {status: 'ok', main_folder: folder.as_json(include: :files}