【问题标题】:Serialize to json rails models with associated records序列化为带有关联记录的 json rails 模型
【发布时间】:2023-03-20 09:05:01
【问题描述】:

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

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

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

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    你可以这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      相关资源
      最近更新 更多