ruby-on-rails - Rails to_json 包含多个 belongs_to 和 has_many 引用

标签 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) }

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

最佳答案

你想要的是

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

您可以传入散列以包含而不是数组,并在这样做时指定嵌套包含。

关于ruby-on-rails - Rails to_json 包含多个 belongs_to 和 has_many 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16750776/

相关文章:

ruby-on-rails - 自定义 simple_form gem 关联显示

JavaScript 编码无法正常工作

java - 使用 ssh-net 的 ruby​​ 脚本中的文件路径问题

json - jq - 根据子元素的搜索结果查找父元素

c# - 在 asp mvc 4 中将 Json 文本解析为 C# 对象

silverlight - 如何使用带有 ContentType ="application/json"的 HttpWebRequest GET 方法

sql - 减少查询数量,可能是通过表模式?

ruby-on-rails - 保存拖放 rails 中的位置

ruby-on-rails - 如何在 Ruby 中以正确的格式返回 JSON?

ruby-on-rails - Rails : Thread. 请求范围数据共享的当前哈希