返回多个包含在对象Ruby on Rails JSON上

时间:2017-02-14 08:57:04

标签: ruby-on-rails json ruby activerecord

我有三个模型,我试图在一个对象中输出所有这些模型作为JSON。

模型和关联如下:

class Customer < ApplicationRecord
  has_one :subscription
  has_one :address
end

class Address < ApplicationRecord
  belongs_to :customer
end

class Subscription < ApplicationRecord
  belongs_to :customer
end

我正在尝试使用以下命令将所有关联数据作为JSON返回:

class HomeController < ApplicationController
  def index
    @customers = Customer.all
    render json: @customers, :include => :address, :subscription
  end
end

然而,这会返回一个语法错误,其中ruby期望某处=>。关于如何输出所有这些数据的任何帮助将非常感激。

1 个答案:

答案 0 :(得分:1)

任何人都在寻找我已经用以下语法回答了这个问题。

class HomeController < ApplicationController
  def index
    @customers = Customer.all
    render json: @customers, :include => [:address, :subscription]
  end
end

地址和订阅需要在数组中传递:)