Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 返回包含的多个模型记录_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails 返回包含的多个模型记录

Ruby on rails 返回包含的多个模型记录,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,有没有一种优雅的方法可以使用includes返回Rails中保存为局部变量的多个模型记录?我想它看起来会像这样,只是想把语法弄下来。航班乘客属于航班,航班有很多航班乘客 flights, flight_passengers = Flight.where(date: params[:date]).includes(:flight_passengers) 数据将作为JSON响应传递回react/redux客户端 # includes is used to avoid n+1 query. @f

有没有一种优雅的方法可以使用includes返回Rails中保存为局部变量的多个模型记录?我想它看起来会像这样,只是想把语法弄下来。航班乘客属于航班,航班有很多航班乘客

flights, flight_passengers = Flight.where(date: params[:date]).includes(:flight_passengers)
数据将作为JSON响应传递回react/redux客户端

# includes is used to avoid n+1 query.  
@flights = Flight.where(date: params[:date]).includes(:flight_passengers)
respond_to do |format|
  format.json { render json: @flights.as_json(:include => [:flight_passengers]) }
end
更多参考


更多参考

如果这样做会失去关联,为什么不在航班json中呈现航班乘客?这比将对象拆分为两个不同的集合更有意义啊,所以如果我呈现以下
flights=flights.where(date:params[:date])。包括(:flights\u passengers)
作为json,它会包括flights\u passengers数据吗?仅供参考-我们使用jbuilders来格式化响应,因此我们习惯于将响应拆分为不同的集合。检查jbuilder文档,您可以执行
json.flight\u passengers flight.flight\u passengers…
如果执行此操作,您将失去关联,为什么不在flight json中呈现flight\u passengers?这比将对象拆分为两个不同的集合更有意义啊,所以如果我呈现以下
flights=flights.where(date:params[:date])。包括(:flights\u passengers)
作为json,它会包括flights\u passengers数据吗?仅供参考-我们使用jbuilders对响应进行格式化,因此我们习惯于将其拆分为不同的集合。检查jbuilder文档,您可以执行
json.flight\u passengers flight.flight\u passengers….
ok好极了,我没有意识到响应中也需要include语句。谢谢。太好了,我没有意识到我也需要回复中的include语句。谢谢