创建对象后如何在JSON中包含嵌套关联?

一个小队有很多玩家。如果我尝试创建新的小队,可以,但不会在控制台中返回包含播放器的JSON。

这是我在控制器上用于创建def的代码:

//= require trix/dist/trix

这是我在模型上的序列化器:

Rails.application.config.assets.paths << Rails.root.join('node_modules')

这是我在控制台返回的json:

def create
  squad = Squad.create(squad_params)
  render json: squad
end

如您所见,players数组为空。实际上它不是空的,但在控制台上似乎是空的。

我用def serializable_hash(opts) super(opts.merge(only: [:id,:name,:user_id],include: :players)) end 尝试了类似的方法,但是没有用:

{id: 26,name: "gol",user_id: 1,players: Array(0)}
id: 26
name: "gol"
players: []
user_id: 1
__proto__: Object

您知道如何在create方法中渲染squad json包含的播放器吗?

kyony 回答:创建对象后如何在JSON中包含嵌套关联?

在Rails响应中包含关系的语法是

render json: squad,include: :players

在创建队伍时让小队有队员

本文链接:https://www.f2er.com/2922724.html

大家都在问