一尘不染

如何将包括“包含”关联的记录转换为JSON

ajax

如果我做类似的事情:

result =  Appointment.find( :all, :include => :staff )
logger.debug { result.inspect }

那么它只会打印出约会数据,而不是相关的职员数据。如果我执行result [0] .staff.inpsect,那么我当然会得到人员数据。

问题是我想将它作为JSON(包括人员行)返回给AJAX。如何强制它包含人员行,还是必须遍历并手动创建内容?


阅读 193

收藏
2020-07-26

共1个答案

一尘不染

:include是一种说法to_json,没有find。您需要在控制器中执行以下操作:

def return_json
  @appointment = Appointment.find(:all)
  respond_to { |format|
    format.json { render :json => @appointment.to_json(:include => :staff) }
  }
end

您需要在“约会”和“职员”之间建立关联才能正常工作。

2020-07-26