使用 jbuilder 发送连接表列 ID



我在游戏和服务器之间有一个has_many :through连接表,称为games_servers,我正在尝试为gameservers发送一个id数组,如下所示:

json.servers do
  json.array!(game.servers {|g| g.id})
end

但它发送的是整个server记录,而不仅仅是id。我也尝试了以下方法:

json.servers do
  json.array!(game.servers {|g| json.(g, :id)})
end

但即便如此,也使整个server记录。有没有办法让我只发送数组中server记录的id

我可以做json.array!(game.servers.pluck(:server_id))只获取数组中的id,但这会导致N+1查询问题

您可以尝试关注以获取ids server

game.server_ids

这将是获取关联模型 ID 的最短代码。

希望这对你有用..

最新更新