Ruby on rails 无法嵌套JSON Rails

Ruby on rails 无法嵌套JSON Rails,ruby-on-rails,json,activerecord,Ruby On Rails,Json,Activerecord,我无法通过rails嵌套具有多个贯穿关系的对象 我的模型是这样的: class SessionDetail < ActiveRecord::Base has_many :session_enrollments, dependent: :destroy has_many :customers, through: :session_enrollments end class SessionEnrollment < ActiveRecord::Base belongs_to :cu

我无法通过rails嵌套具有多个贯穿关系的对象

我的模型是这样的:

class SessionDetail < ActiveRecord::Base
 has_many :session_enrollments, dependent: :destroy
 has_many :customers, through: :session_enrollments
end

class SessionEnrollment < ActiveRecord::Base
 belongs_to :customers   //column name is "customers_id"
 belongs_to :session_details //column name is "sessiondetails_id"
end

class Customer < ActiveRecord::Base
 has_many :session_enrollments
 has_many :session_details, through: :session_enrollments
end
def return_trainers_sessions
  @trainer_requests = SessionDetail.where(trainers_id: params[:trainers_id], state:     "PENDING")

  unless (!@trainer_requests.any?)
    respond_to do |format|
    msg = {:status => "SUCCESS", :messages => "Requests Found", :requests => @trainer_requests.as_json(:includes => {:customers => {:include =>:session_enrollments}})}
     format.json  { render :json => msg } # don't do msg.to_json
  end
我也尝试过创建一个类方法,但我只能尽可能地嵌套客户


我最终没有返回任何客户或会话注册,因此我的json看起来就像我从未将包含项添加到的右侧。正如json一样,请注意您的多元化

class SessionDetail < ActiveRecord::Base
  has_many :session_enrollments, dependent: :destroy
  has_many :customers, through: :session_enrollments
end

# a session enrollment belongs to a single customer, and a single session detail. Similarly
# the foreign key fields should be singular, customer_id, session_detail_id
class SessionEnrollment < ActiveRecord::Base
  belongs_to :customer   
  belongs_to :session_detail
end

class Customer < ActiveRecord::Base
  has_many :session_enrollments
  has_many :session_details, through: :session_enrollments
end
class SessionDetail
尝试删除
:includes=>
中的字母
s
,使其成为
:include=>
。@Trip这样做会产生500个错误。日志显示uninitialized constant SessionDetail::Customers。您可以改为在terminal中运行该命令并查看返回结果吗?@trip抱歉,curl请求挂起,只需在下面的行上看到一个>,您可以在
除非
语句中抛出一个调试器,然后在控制台中运行它吗,然后粘贴准确的报税表?哇,谢谢!我最终制作了一个类方法,但我会尝试这个