Rails的to_json包含多个belongs_to和has_many引用

tol*_*gap 2 ruby json ruby-on-rails ruby-on-rails-3

我具有以下模型结构:

class Server < ActiveRecord::Base
  has_many :websites
end

class Website < ActiveRecord::Base
  belongs_to :server
  has_many :plugins
end

class Plugin < ActiveRecord::Base
  belongs_to :website
end
Run Code Online (Sandbox Code Playgroud)

当我打电话时,server/1.json我只获得Server属性的JSON 。我要包含所有内容,websites并websites包含所有内容plugins。我将如何实现?

format.json { render :json => @server.to_json(:include => :websites) }
Run Code Online (Sandbox Code Playgroud)

这适用于包含,websites但我也想在网站内包含引用。

Leo*_*rea 5

你想要的是

format.json { render json: @server.to_json(include: {websites: {include: :plugins}}) }
Run Code Online (Sandbox Code Playgroud)

您可以传递散列以包含而不是数组,并在此过程中指定嵌套的包含。