我希望我的rails控制器索引操作一次呈现多个输出,我的控制器:
class Api::V1::Ola::OlaBookingsController < ApplicationController
def index
lat = params[:lat].to_s
long = params[:long].to_s
drop_lat = params[:drop_lat].to_s
drop_lng = params[:drop_lng].to_s
ola_query = {
"pickup_lat" => lat,
"pickup_lng" => long,
"drop_lat" => drop_lat ,
"drop_lng" => drop_lng
}
ola_body = {
"pickup_lat" => lat,
"pickup_lng" => long,
"drop_lat" => drop_lat,
"drop_lng" => drop_lng,
"pickup_mode" => "NOW",
"category" => "auto"
}
ola_headers = {
"Authorization" => "Bearer ",
"X-APP-TOKEN" => ""
}
@ola_products = HTTParty.get(
"http://sandbox-t.olacabs.com/v1/products",
:query => ola_query,
:headers => ola_headers
).parsed_response
@ola_booking = HTTParty.post(
"http://sandbox-t.olacabs.com/v1/bookings/create ",
:body => ola_body,
:headers => ola_headers
).parsed_response
render :json => @ola_booking
render :json => @ola_products
end
end我希望两个响应都在控制器上,而不是生成viw。但是它给出了错误“多个渲染不可能”,如何修复它?
发布于 2016-06-14 03:05:57
你不能有2个渲染,你可以做的是一个接一个地组合这两个对象,就像这样
render :json => @ola_booking.to_json + @ola_products.to_json你应该试一试,让我知道它是如何工作的
发布于 2016-06-14 18:21:47
你可以试试这个。
respond_to do |format|
format.json { render :json => {:ola_booking => @ola_booking,
:ola_products => @ola_products }}
endhttps://stackoverflow.com/questions/37796929
复制相似问题