0

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

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

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

我尝试通过以下方式呈现更复杂的 json 响应

render json: {status: 'ok', main_folder: folder}

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

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

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

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

1 回答 1

1

您可以执行以下操作:

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

于 2015-10-18T16:23:17.690 回答