如何从ruby数组中删除对象的属性

时间:2013-09-11 07:19:37

标签: ruby-on-rails

我有一个像这样的学生阵列

[#<Student id: 2, admission_no: "2", gender: "m", blood_group: "A">,#<Student id: 3, admission_no: "3", gender: "m", blood_group: "A">]

我通过named_scope获取此数组....所以有没有办法只选择具有命名范围的必需属性... 我需要从中删除admission_no和blood_group并返回一个只有学生ID和性别的数组..怎么可能。我使用rails2.3

3 个答案:

答案 0 :(得分:1)

named_scope_result.select('id, gender')会为您提供所需的结果。

答案 1 :(得分:0)

您希望从数组开始,只有一个包含必需字段的哈希数组。

Student.select('id, gender').find(:all)
如果要考虑数据库中的所有Student对象,

将会执行。

从通用学生数组开始:students,您可以通过以下方式实现目标:

result = Array.new
students.each |s| do
  data = { "id" => s.id, "gender" => s.gender }
  result << data
end

答案 2 :(得分:0)

这样做     Student.select(&#39; id,gender&#39;)。find(:all)