Rails to_json包含多个belongs_to和has_many引用

时间:2013-05-25 14:58:55

标签: ruby-on-rails ruby json 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

当我致电server/1.json时,我只获得Server属性的JSON。我想要的是将其所有websiteswebsites包括在内以包含所有plugins。我怎么做到这一点?

format.json { render :json => @server.to_json(:include => :websites) }

这适用于包含websites,但我也希望在网站中包含引用。

1 个答案:

答案 0 :(得分:4)

你想要的是

format.json { render json: @server.to_json(include: {websites: {include: :plugins}}) }

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