一个小队有很多玩家。如果我尝试创建一个新的小队,可以,但不会在控制台中返回包含播放器的JSON。
这是我在控制器上用于创建def的代码:
def create
squad = Squad.create(squad_params)
render json: squad
end
这是我在模型处的序列化器:
def serializable_hash(opts)
super(opts.merge(only: [:id, :name, :user_id], include: :players))
end
这是我在控制台返回的json:
{id: 26, name: "gol", user_id: 1, players: Array(0)}
id: 26
name: "gol"
players: []
user_id: 1
__proto__: Object
如您所见,玩家数组为空。实际上它不是空的,但在控制台上似乎是空的。
我用include(:players)
尝试过类似的操作,但是没有用:
def create
squad = Squad.create(squad_params)
render json: squad.include(:players)
end
您知道如何在创建方法中渲染小队json包含的播放器吗?
在Rails响应中包括关系的语法是
render json: squad, include: :players
并在创建小队时让其具有球员