【问题标题】:How to get child records into a ruby hash in Rails 5如何在 Rails 5 中将子记录放入 ruby​​ 哈希中
【发布时间】:2022-11-12 11:15:31
【问题描述】:

我正在使用 Ruby on Rails 开发预订系统,并希望允许用户能够在他们选择的建筑物中选择一张床。我创建了一个表来保存建筑记录,并与另一个保存可用床位的表建立关系。我的前端使用 React 和 react_on_rails gem 来列出面板中的建筑物。但我无法在发送到我的 React 组件的 json 中包含子记录(床位列表)。请参阅下面的代码示例。我知道它一定是我想念的小东西。谢谢您的帮助。

@event_show_props = {
     buildings: @event.Buildings
                      .eager_load(:Room_Beds)
                      .index_by(&:id),
}

respond_to do |format|
     format.html
     format.json {render json: @event_show_props}
end

【问题讨论】:

  • 您可以尝试使用as_json@event.Buildings.eager_load(:Room_Beds).as_json(include: :room_beds)(或Room_Beds,这取决于关系的设置方式)

标签: ruby-on-rails ruby react-on-rails


【解决方案1】:

根据上面关于问题的评论,我向字符串添加了一个 .as_json 方法并且它起作用了。 room_beds 列表作为数组添加到它们自己的键下。请参阅下面的完整代码。也不知道该归功于谁,但谢谢!我认为这将是一个简单的简单解决方案。

buildings: @event.Buildings
                 .eager_load(:Room_Beds)
                 .index_by(&:id)
                 .as_json(include: :Room_Beds),

【讨论】:

    猜你喜欢
    • 2017-10-14
    • 2021-07-25
    • 2023-03-27
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多