Rails 6 jbuilder 无法正确渲染数组
Rails 6 jbuilder not rendering array properly
我在 Rails 6(API 仅模式)上使用 JBuilder 正确渲染数组时遇到问题。
我基本上有一个车牌列表,我想通过 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 的唯一目的
更新您的索引以删除 render @registration_plates
# GET /registration_plates
def index
@registration_plates = RegistrationPlate.all
end
render @registration_plates
直接渲染 _registration_plate.json.jbuilder
而无需进入 index.json.jbuilder
我在 Rails 6(API 仅模式)上使用 JBuilder 正确渲染数组时遇到问题。
我基本上有一个车牌列表,我想通过 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 的唯一目的
更新您的索引以删除 render @registration_plates
# GET /registration_plates
def index
@registration_plates = RegistrationPlate.all
end
render @registration_plates
直接渲染 _registration_plate.json.jbuilder
而无需进入 index.json.jbuilder