繁体   English   中英

如何在 Rails 上的 Ruby 中将每个元素的嵌套属性获取到数组中?

[英]How can I get a nested attribute of each element to an array in Ruby on Rails?

导轨 object 具有以下信息样式。 例如,如果我执行res.students[0].student_id它会打印 1

rails object 是来自其他服务的响应,它是一个原型。

"Students": [
    {
      "student_id": "1",
      "marks": 66,
      "address": 1,234 street,
      "name" : "",
    },
    {
      "student_id": "2",
      "marks": 97,
      "address": 4, 567 street,
      "name" : "",
    },
]

//名称在这个结构中为空

  1. 但是,如何在 Rails 上的 Ruby 中将所有 student_id 获取到数组中?
  2. 另外,如何将一组学生 ID 传递给 SQL 查询并获取名称数组?

我们可以假设res.students是一个 Enumerable 那么为什么不只是.map呢?

student_ids = res.students.map{|r| r.student_id}

对于 sql 也许您正在寻找这个?

Student.where(id: student_ids ).pluck(:name)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM