首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 6 jbuilder没有正确地呈现数组

Rails 6 jbuilder没有正确地呈现数组
EN

Stack Overflow用户
提问于 2019-10-04 08:43:47
回答 1查看 870关注 0票数 0

我在正确地使用JBuilder on Rails 6 (API模式)呈现数组时遇到了问题。

我基本上有一个注册车牌的列表,我想通过API请求获取这些车牌。

我的索引视图如下所示:

代码语言:javascript
复制
# frozen_string_literal: true

json.array! @registration_plates,
            partial: 'registration_plates/registration_plate',
            as: :registration_plate

我的表演视图看起来如下:

代码语言:javascript
复制
# frozen_string_literal: true

json.partial! 'registration_plates/registration_plate',
              registration_plate: @registration_plate

最后,部分_registration_plate.json.jbuilder非常简单:

代码语言:javascript
复制
# frozen_string_literal: true

json.id registration_plate.id
json.plate registration_plate.plate.to_s

我确实从服务器得到了一个正常的响应:

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

有没有人有类似的问题,或者你知道如何解决这个问题?

比你提前。

编辑

另外,我的控制器被配置为呈现jbuilder而不是json。

代码语言:javascript
复制
  # GET /registration_plates
  def index
    @registration_plates = RegistrationPlate.all

    render @registration_plates
  end

  # GET /registration_plates/1
  def show
    render @registration_plate
  end

如果我将索引操作更改为

代码语言:javascript
复制
  def index
    @registration_plates = RegistrationPlate.all

    render json: @registration_plates.to_json(only: %i[id plate])
  end

我确实得到了正确的输出,但是,我违抗jbuilder的唯一目的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-04 12:43:06

更新索引以删除render @registration_plates

代码语言:javascript
复制
  # GET /registration_plates
  def index
    @registration_plates = RegistrationPlate.all
  end

render @registration_plates直接呈现_registration_plate.json.jbuilder而不进入index.json.jbuilder

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58232844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档