我在正确地使用JBuilder on Rails 6 (API模式)呈现数组时遇到了问题。
我基本上有一个注册车牌的列表,我想通过API请求获取这些车牌。
我的索引视图如下所示:
# frozen_string_literal: true
json.array! @registration_plates,
partial: 'registration_plates/registration_plate',
as: :registration_plate我的表演视图看起来如下:
# frozen_string_literal: true
json.partial! 'registration_plates/registration_plate',
registration_plate: @registration_plate最后,部分_registration_plate.json.jbuilder非常简单:
# frozen_string_literal: true
json.id registration_plate.id
json.plate registration_plate.plate.to_s我确实从服务器得到了一个正常的响应:

但是,我得到的不是数组,而是一系列JSON对象

有没有人有类似的问题,或者你知道如何解决这个问题?
比你提前。
编辑
另外,我的控制器被配置为呈现jbuilder而不是json。
# GET /registration_plates
def index
@registration_plates = RegistrationPlate.all
render @registration_plates
end
# GET /registration_plates/1
def show
render @registration_plate
end如果我将索引操作更改为
def index
@registration_plates = RegistrationPlate.all
render json: @registration_plates.to_json(only: %i[id plate])
end我确实得到了正确的输出,但是,我违抗jbuilder的唯一目的。
发布于 2019-10-04 12:43:06
更新索引以删除render @registration_plates
# GET /registration_plates
def index
@registration_plates = RegistrationPlate.all
endrender @registration_plates直接呈现_registration_plate.json.jbuilder而不进入index.json.jbuilder
https://stackoverflow.com/questions/58232844
复制相似问题